Portals eNewsletters Web Seminars dataWarehouse.com DM Review Magazine
DM Review | Covering Business Intelligence, Integration & Analytics
   Covering Business Intelligence, Integration & Analytics Advanced Search
advertisement

RESOURCE PORTALS
View all Portals

WEB SEMINARS
Scheduled Events

RESEARCH VAULT
White Paper Library
Research Papers

CAREERZONE
View Job Listings
Post a job

Advertisement

INFORMATION CENTER
DM Review Home
Newsletters
Current Magazine Issue
Magazine Archives
Online Columnists
Ask the Experts
Industry News
Search DM Review

GENERAL RESOURCES
Bookstore
Buyer's Guide
Glossary
Industry Events Calendar
Monthly Product Guides
Software Demo Lab
Vendor Listings

DM REVIEW
About Us
Press Releases
Awards
Advertising/Media Kit
Reprints
Magazine Subscriptions
Editorial Calendar
Contact Us
Customer Service

Enterprise Architecture and Service-Oriented Architecture Fad or Foundation? Part 3

  Article published in DM Direct Newsletter
April 22, 2005 Issue
 
  By Rex Brooks and Russell Ruggiero

Editor's note: There is a comprehensive glossary of important terms and reference list at the end of this article that will be useful for this discussion of enterprise architectures. For other installments in this series, please visit:

Part 1: http://www.dmreview.com/article_sub.cfm?articleID=1025078
Part 2: http://www.dmreview.com/article_sub.cfm?articleID=1025567
Part 4: http://www.dmreview.com/article_sub.cfm?articleID=1026284

Getting Personal

Perhaps the most critical element to the eventual success of applications that aim to be adopted within the enterprise architecture (EA)-based computing continuum as we move into the second half of the first decade of Third Millennium and especially within the world of Web services will be the ability to provide for end users to personalize their experience of applications, portals and Web sites, both at work and home. In addition, it would be most helpful for individuals to vouchsafe their own personal information in terms of controlling external access to their vital statistics such as medical records and of their preferences as well as the granting of permission for e-mail transmission. Such a standard for personal information will allow the monitoring of Web conferencing and IM contact through a Web services portal and can be mediated through a service-oriented facility such as a registry or repository. Controlling access to their personal information through their ISP and or through a registry or repository with which they could have secure communications for the purpose of gaining ultimate control over the plague of unsolicited Internet/Web-based communication - spam. There is an effort which holds the promise of providing this, the OASIS HumanMarkup Technical Committee (www.oasisopen.org/committees/tc_home.php?wg_abbrev=humanmarkup) whose work aims to provide the following benefits:

  • Comprehensive in-depth individual information incorporating existing standards from medical history and insurance to employment history to personal preferences;
  • In-depth personalization for desktop integration-productivity enhancement;
  • Mediation services through standardized mediation vocabularies, incorporating existing legal vocabularies and ongoing legal standards evolution;
  • In-depth personalization for knowledge discovery-analysis for decision making;
  • Automation of IM, e-mail and conferencing collaborations including recording, logging, monitoring and auditing;
  • Real-time conferencing feedback to facilitate consensus building.

In the early days of the Web there were many conversations around the notion of transparency in terms of how the user interacted with the computer interface. Now these notions may seem very awkward based on the natural evolution towards usability, as some features are used often and others less frequently or not at all. There was and remains the question of balance between features and usefulness. There is a principle at work in this process of which those who would prosper in the marketplace of the near future ought to take cognizance and which relates intimately to personalization: habituation. That principle is respect for the end user.

It will be found in software that literally "learns" its users. Smart software will recognize the patterns of its users, record them and take them into account by anticipating the likely kinds of requests for information that individual users, based on their overall behavior, will make in a given set of circumstances, from scheduling decisions to gathering market research for a new project. By having the ability to present the user with her likeliest request options at specific anticipated points in well-known (intra-enterprise) decision-tree nodes, not only will individual users become more productive, their experience of using their computer systems and interfaces will become much more transparent and, therefore, more satisfied. This will be especially valuable in times of stress, such as major changes in a report just before a deadline. Making such improvements system-wide will realize larger and more immediate ROI, of course, but the follow-on benefits of reduced hours will undoubtedly have a substantial effect on the health both of the individual and the work force at large.

Reintroducing Web Services

It is in this context that Web services are slowly coming of age. The public is liable to do a double take since it has been a couple of years since the buzz of the day was Web services. That a mere couple of years can let us forget or dismiss such a development shows the influence of the phenomenal growth of the Web through which our already short attention span has been shortened even further in this age of instant, 24-hour-a-day communications. However, good concepts have a life of their own because they fill an actual need, provide a useful service and so, as with Web services, their development over time will not depend on the vagaries of current public awareness. One of the chief reasons why Web services were not capable of sweeping the world the way the Web itself first did is simply that the issue of standards was being advanced at just the right time to capture this emerging domain of Internet activity at its inception and combine it with the understanding on the part of the major platform-level vendors that standards for this arena were necessary. Thus, the hype faded, Web services disappeared, apparently, and life went on, except that behind the scenes a significant amount of effort was being expended in creating the standards needed. Without going through an exhaustive list and without detailing the many currently evolving standards that seem so apparently profuse that one would expect a great deal of chaotic overlap and duplication, a list of the specifications currently ready or that will be within the next year in their respective categories will be helpful. Listed below are summaries of key Web services related areas:

Web Services Defined

Web services are components, which reside on the Internet that have been designed to be published, discovered and invoked dynamically across various platforms and unlike networks. The methods, which reside in a specific Web service, may use simple object access protocol (SOAP) to send or receive XML data. Thus, XML eliminates the long and laborious steps involved with creating a remote object. Listed below are examples of traditional (centralized application development) and Web services (distributed network-centric applications based on XML) models.

Example One. CORBA requires that the methods written in the language supporting CORBA be converted to interface definition language (IDL) before being used.

Example Two. Methods may be called without using the IDL because a programming language needs only be able to make a call across the Internet using HTTP and then handle an XML response.

Web Services Development Paths

There are currently two main development paths that include Sun's Java2 Platform Enterprise Edition (J2EE) and Microsoft's .NET for creating and deploying Web services. Each has garnered the support of industry leaders. Case in point: J2EE has gained strong support from the Java community (e.g., BEA, IBM, Oracle, Sun, Sybase, etc.) and .NET spearheads the Web services effort for Microsoft. While development paths may differ, the aforementioned vendors have been strong proponents of core Web services standards including WSDL, ebXML/UDDI and SOAP. As a result, Web services have now become a viable technology for the enterprise.

Web Services Development Environments

At the moment, there are two prevailing types of IDEs (Java centric or Microsoft centric) for building traditional as well as Web services applications. These IDEs have become much more sophisticated during the last four years and provide very rich functionality across a wide range of languages and technologies. Leading Java IDE offerings include: Borland Software Platform for J2EE, IBM WebSphere Studio V5.1.2, Oracle JDeveloper 10g, Sun Studio Enterprise, and Sybase PowerBuilder 10. There are also the ubiquitous, now open-sourced Eclipse 3.0 platform that IBM has converted to pure XML and can output Java, and Sun's contribution to the open source community, the NetBeans IDE, which, while not currently devoted to pure XML, can be used with Eclipse to reverse engineer into XML.

Please Note: The World Wide Web Consortium (W3C) published three new Web Services Recommendations on January 25, 2005 that include: XML-binary Optimized Packaging (XOP), SOAP Message Transmission Optimization Mechanism (MTOM) and Resource Representation SOAP Header Block (RRSHB). These recommendations provide ways to efficiently package and transmit binary data included or referenced in a SOAP 1.2 message.

Business Process Languages

The three major business process languages have been listed:

Web Services Business Process Execution Language for (WS BPEL): An OASIS specification that provides a common language for business processes and business interaction protocols. BPEL4WS is designed to integrate heterogeneous applications and services into transactional business processes. In a nutshell, BPEL4WS specifies business process behavior based on Web services. It has been designed to work with core Web services standards that include WSDL, ebXML/UDDI, SOAP and XML.

Business Process Execution Language for Java (BPELJ): A joint effort by BEA and IBM that is a combination of BPEL and the Java programming language allowing the two languages to be used together to build business process applications. BPELJ enables Java and BPEL to cooperate by allowing sections of Java code, called Java snippets (e.g., logic of business functions, loop conditions, Web service message preparation, etc.) to be included in BPEL process definitions.

Universal Business Language (UBL): An OASIS standard that defines a common XML library of business documents, such as purchase orders and invoices, as well as reusable data components from which an unlimited number of other documents can be constructed. It is designed to plug directly into existing business, legal, auditing and records management practices, eliminating the rekeying of data in existing fax- and paper-based supply chains and providing an entry point into electronic commerce for small and medium-sized businesses.

Web Services Messaging

WS-Reliability is an OASIS specification for open, reliable Web services messaging - including guaranteed delivery, duplicate message elimination and message ordering - enabling reliable communication between Web services. The reliability features are based on extensions to SOAP, rather than being tied to the underlying transport protocol. The specification will permit a variety of systems to interoperate reliably in a platform and vendor-neutral manner.

Web Services Recommendations and Standards Relating to Security

Leading organizations such as OASIS and the W3C have been instrumental in the advancement and support of current security standards, while promoting emerging ones. The following is a list of XML-based technologies applicable to Web services security.

SAML. Security Assertion Markup Language is an OASIS standard, which provides a common framework that can be used to exchange authentication, authorization and profile information between multiple policy based security systems, application servers, multiple operating platforms and messaging frameworks.

WSS. Web Services Security (WSS) is an OASIS standard that handles complex confidentiality and integrity for SOAP messages, providing a general-purpose mechanism for associating security tokens with message content. It is designed to be extensible; WSS supports multiple security token formats.

XML Encryption and XML Signature. Both security technologies have been proposed as W3C Recommendations. XML Signature, when paired with the XML Encryption, permits users to sign and encrypt portions of XML data.

Additionally, industry initiatives such as the Liberty Alliance and Microsoft .NET Passport are expected play a vital role in shaping Web services security landscape.

Part 4 of this series will discuss finding the appropriate enterprise architecture for your organization.

Important Terms

ADO.NET. Provides the native data access layer for the .NET framework.

ASP. Active server pages are a set of software components that run on a Web server and allow Web developers to build dynamic Web pages.

ASP+. Are the next generation of active server pages (ASP). They provide the services necessary for developers to build Enterprise type Web applications.

BPEL. Business Process Execution Language (BPEL) is a business process execution language which forms the necessary technical foundation for multiple usage patterns including both the process interface descriptions required for business protocols and executable process models.

BPELJ. Business Process Execution Language for Java (BPELJ) is a joint effort by BEA and IBM that is a combination of BPEL and the Java programming language allowing the two languages to be used together to build business process applications.

BPEL4WS. Business Process Execution Language (Business Process Execution Language for Web Services (BPEL4WS): Is an OASIS specification that provides a common language for business processes and business interaction protocols. BPEL4WS is designed to integrate heterogeneous applications and services into transactional business processes.

CLR. Common language runtime provides the common services for .NET Framework applications. Programs can be written for the common language runtime in just about every language, including C, C++, C#, and Microsoft Visual Basic(R), as well as some older languages such as Fortran. The runtime simplifies programming by assisting with many mundane tasks of writing code. These tasks include memory management--which can be a big generator of bugs--security management, and error handling.

COM. Common object model is an object-based programming specification, designed to provide object interoperability through sets of predefined routines called interfaces.

COM+. Provides an enterprise development environment, based on the Microsoft component object model (COM), for creating component-based, distributed applications.

CORBA. Common object request broker architecture is the Object Management Group (OMG) vendor-independent architecture and infrastructure, which computer applications use to work together over networks.

CSS. Cascading style sheets is a style sheet language that enables authors and users to attach style (fonts, spacing and aural cues) to structure that include HTML and XML applications.

DOM. Document object model is a platform and language neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents.

DTD. Document type definition is a text file that specifies the meaning of each tag.

EJB. Enterprise JavaBeans are server component architecture that conform to the Sun EJB component model. The EJB may be used to create a business object and related content may be sent using Java server pages (JSPs).

FTP. File transfer protocol is the protocol used on the Internet for sending files.

HTML. Hypertext markup language is a non-proprietary format based on SGML and is the publishing language of the Web.

IDL. Interface definition language is the standard API for calling CORBA services.

Java. Is a cross-platform source programming language that allows applications to be distributed over networks and the Internet.

JavaMail. J2EE applications use the JavaMail API to send e-mail notifications.

J2C. The connector architecture specification (JCA Specification) is a standard architecture for integrating Java applications with existing enterprise information systems.

J2EE. Java 2 Platform Enterprise Edition defines a standard for developing multitier applications.

J2ME. Java 2 Platform Micro Edition provides application-development platform for mobile devices including cell phones and PDAs.

JAAS. Java Authentication and Authorization Service (JAAS) provides a way for a J2EE application to authenticate and authorize a specific user of group of users to run it.

JAF. JavaBeans Activation Framework (JAF) provides a standard service to determine the type of an arbitrary piece of data, encapsulate access to it, discovers the operations available on it, and create the appropriate JavaBeans component to perform those operations.

JAXP. The Java API for XML Processing (JAXP) supports the processing of XML documents using DOM, SAX, and XSLT. It enables applications to parse and transform XML documents independent of a particular XML processing implementation.

JAXR. The Java API for XML Registries (JAXR) facilitates access to business and general purpose registries over the Web. JAXR supports the ebXML Registry and Repository and UDDI.

JAX RPC. Java API for XML-based RPC (JAX-RPC) is used to build Web applications and Web services, incorporating XML-based RPC functionality according to the simple object access protocol (SOAP) 1.1 specification.

JDBC. Java database connectivity is the standard API for accessing relational data.

JMS. Java messaging service is the standard API for sending and receiving messages.

JNDI. Java naming directory interface is the standard API for accessing information in the enterprise name and directory.

JSP. Java server pages are a way to create dynamic Web content. They may also be used to generate and consume XML between n-tier servers or between servers and clients.

JVM. The Java virtual machine runs the Java applications.

JTA. Java transaction API defines a high-level transaction management specification.

JTS. Java transaction services ensures interoperability with sophisticated transaction resources.

LDAP. Lightweight directory access protocol is based on the standards contained within the X.500 standard, but is significantly simpler. And unlike X.500, LDAP supports TCP/IP, which is necessary for any type of Internet access.

Microsoft .NET Framework. Is the foundation of the next generation of Windows-based applications to build, deploy, and integrate with other networked systems. The .NET Framework consists of two main parts: the common language runtime (CLR) and the .NET Framework class library.

Microsoft .NET Class Library. The library includes prepackaged sets of functionality that developers can use to more rapidly extend the capabilities of their own software. The .NET Library is made of three main components that include 1) ASP.NET to help build Web applications and Web services 2) Windows Forms to facilitate smart client user interface development 3) ADO.NET to help connect applications to databases.

Namespaces. XML namespaces provide a simple method for qualifying element and attribute names used in XML documents by associating them with namespaces identified by URI references.

OASIS. The Organization for the Advancement of Structured Information is a non-for-profit consortium that advances electronic business by promoting open, collaborative development of interoperability specifications.

ODBC. Open database connectivity is a widely accepted API for database access. It is based on the call-level interface (CLI) specifications from X/Open and ISO/IEC for database APIs and uses structured query language (SQL) as its database access language.

OMG. Object Management Group is the industry group dedicated to promoting object-oriented (OO) technology and its standardization.

PKI: Public-key infrastructure is the combination of software, encryption technologies and services designed to protect the security of communications and business transactions on the Internet.

RMI. Remote method invocation is used for creating and or distributing Java objects.

RMI/IIOP. Provides developers an implementation of the Java RMI API over the Object Management Group (OMG) standard Internet Inter-Orb-Protocol (IIOP). This allows developers to write remote interfaces between clients and servers.

SAX. Simple API for XML is an event-based interface for processing XML documents

Servlets. Allow users to run Java code on the server and send HTML pages to a browser.

SSL: Secure sockets layer is a security technology that is commonly used to secure server to browser transactions.

SOAP. Simple object access protocol is a World Wide Web Consortium (W3C) specification that facilitates the interoperability between a broad mixture of programs and platforms.

SQL. Structured query language is a standard language for making interactive queries from and updating databases.

UBL. Universal Business language (UBL) defines a common XML library of business documents, such as purchase orders and invoices, as well as reusable data components from which an unlimited number of other documents can be constructed. It is designed to plug directly into existing business, legal, auditing, and records management practices, eliminating the re-keying of data in existing fax- and paper-based supply chains and providing an entry point into electronic commerce for small and medium-sized businesses.

UDDI. Universal description, discovery and integration is a an online directory that gives businesses and organizations a uniform way to describe their services, discover other companies' services and understand the methods required to conduct business with a specific company.

Username. Is used to gain access to a computer system. Usernames and often passwords are required in multiuser systems.

Web Services. Are components, which reside on the Internet that have been designed to be published, discovered and invoked dynamically across various platforms and unlike networks.

WS-Reliability. Is a specification for open, reliable Web services messaging - including guaranteed delivery, duplicate message elimination and message ordering - enabling reliable communication between Web services.

WSS. Web Services Security (WSS) is an OASIS standard that handles complex confidentiality and integrity for SOAP messages, providing a general-purpose mechanism for associating security tokens with message content. It is designed to be extensible; WSS supports multiple security token formats.

WSDL. Web services description language is a specification that is published to a UDDI directory. WSDL provides interface/implementation details of available Web services and UDDI Registrants. It leverages XML to describe data types, details, interface, location and protocols.

WS-I. The Web Services Interoperability Organization is an open industry effort chartered to promote Web Services interoperability across platforms, applications, and programming languages. The organization brings together a diverse community of Web services leaders to respond to customer needs by providing guidance, recommended practices, and supporting resources for developing interoperable Web services.

WSRP. Web services for remote portlets (WSRP) is an OASIS specification for using Web services to deliver information to Internet portals will help to promote reuse.

XML. Extensible markup language is a non-proprietary subset of SGML. It is focused on data structure and uses tags to specify the content of the data elements in a document.

XML Encryption and XML Signature.  Both security technologies have been proposed as W3C Recommendations in 2002. XML Signature, when paired with the XML Encryption, permits users to sign and encrypt portions of XML data.

XML Schema. Schemas are used to define and document XML applications.

XPath. XML path language's primary purpose is to address parts of an XML document. In support of this primary purpose, it also provides basic facilities for manipulation of strings, numbers and booleans.

XPointer. XML pointer language is based on the XML Path language (XPath) and supports addressing into the internal structures of XML documents. It allows for examination of a hierarchical document structure and choice of its internal parts based on various properties, such as element types, attribute values, character content and relative position.

XQuery. Is a query language that uses the structure of XML intelligently. It can express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. XQuery is designed to be broadly applicable across many types of XML data sources.

XSL. Extensible stylesheet language describes how data is presented. XSL may also be used to transform XML data into HTML/CSS documents on the Web servers.

XSLT. Extensible stylesheet language transformation is a language for transforming XML documents into other XML documents. XSLT is designed for use as part of XSL, which is a stylesheet language for XML.

W3C. The World Wide Web Consortium has become the primary organization for creating Web specifications, and whose principal goal is interoperability.

...............................................................................

For more information on related topics visit the following related portals...
Enterprise Achitecture, Service-Oriented Architecture (SOA) and Web Services.

Rex Brooks, president of Stabourne Communications Design, has pursued an extensive and wide-ranging career in advertising art direction, corporate identity and graphic design. His ongoing interests have included the applications of computer technology in his field and applying concepts from the fields of psychology, sociology and advertising in the area of semantics and semiotics for the purposes of improving communications in digital information systems. This led to his involvement with OASIS in the HumanMarkup Technical Committee helping to create the Human Markup Language. He is the cofounder of the Content Development Working Group of the Web 3D Consortium and Humanmarkup.org, Inc. and serves as vice chair of the OASIS HumanMarkup Technical Committee. He is also actively serving on the OASIS Web Services for Remote Portlets and Emergency Management Technical Committees. You can reach him at rexb@starbourne.com.

Russell Ruggiero is a senior IT analyst. He is the acting chairman of HumanMarkup.org. Ruggiero has authored more than 150 articles and reports for well-respected firms that include Gartner, Inc. and Source Media. He may be reached at rrugg55041@aol.com.



E-mail This Article E-Mail This Article
Printer Friendly Version Printer-Friendly Version
Related Content Related Content
Request Reprints Request Reprints
advertisement
Site Map Terms of Use Privacy Policy
SourceMedia (c) 2006 DM Review and SourceMedia, Inc. All rights reserved.
SourceMedia is an Investcorp company.
Use, duplication, or sale of this service, or data contained herein, is strictly prohibited.