What Is Service Oriented Architecture (Soa), And How Does It Support Modern Supply Chain Management?
Service-Oriented Compages (SOA) and Web Services: The Route to Enterprise Application Integration (EAI)
Past Qusay H. Mahmoud, Apr 2005
Near enterprises have fabricated extensive investments in system resources over the course of many years. Such enterprises have an enormous corporeality of data stored in legacy enterprise information systems (EIS), and then it's not practical to discard existing systems. It's more cost-effective to evolve and enhance EIS. But how can this be washed? Service Oriented Architecture (SOA) provides a cost-effective solution.
SOA is not a new concept. Sun divers SOA in the late 1990's to describe Jini, which is an environment for dynamic discovery and use of services over a network. Web services take taken the concept of services introduced by Jini technology and implemented it every bit services delivered over the web using technologies such as XML, Web Services Description Language (WSDL), Simple Object Access Protocol (SOAP), and Universal Clarification, Discovery, and Integration(UDDI). SOA is emerging as the premier integration and compages framework in today'south complex and heterogeneous calculating environment. Previous attempts didn't enable open interoperable solutions, just relied on proprietary APIs and required a loftier degree of coordination between groups. SOA can help organizations streamline processes so that they can do business organization more efficiently, and adapt to changing needs and competition, enabling the software as a service concept. eBay for example, is opening up its web services API for its online auction. The goal is to drive developers to make money around the eBay platform. Through the new APIs, developers can build custom applications that link to the online auction site and allow applications to submit items for sale. Such applications are typically aimed at sellers, since buyers must nonetheless head to ebay.com to bid on items. This type of strategy, still, will increase the client base for eBay.
SOA and web services are ii different things, but spider web services are the preferred standards-based manner to realize SOA. This article provides an overview of SOA and the role of web services in realizing it. The article provides:
- An overview of software as a service
- A tutorial on SOA
- An overview of Dominicus'south platforms for edifice web services
- Guidelines for designing interoperable spider web services
- Challenges in moving to SOA
- An overview of Java Business organization Integration (JSR 208)
- A discussion of web services for enterprise awarding integration
Service-Oriented Compages
SOA is an architectural manner for edifice software applications that use services bachelor in a network such as the web. It promotes loose coupling between software components so that they can be reused. Applications in SOA are built based on services. A service is an implementation of a well-divers business concern functionality, and such services can then be consumed past clients in different applications or business concern processes.
SOA allows for the reuse of existing avails where new services can be created from an existing IT infrastructure of systems. In other words, information technology enables businesses to leverage existing investments by allowing them to reuse existing applications, and promises interoperability between heterogeneous applications and technologies. SOA provides a level of flexibility that wasn't possible earlier in the sense that:
- Services are software components with well-defined interfaces that are implementation-independent. An important aspect of SOA is the separation of the service interface (the what) from its implementation (the how). Such services are consumed past clients that are non concerned with how these services will execute their requests.
- Services are self-contained (perform predetermined tasks) and loosely coupled (for independence)
- Services tin be dynamically discovered
- Blended services can exist congenital from aggregates of other services
SOA uses the find-demark-execute paradigm as shown in Figure 1. In this paradigm, service providers register their service in a public registry. This registry is used past consumers to find services that lucifer certain criteria. If the registry has such a service, it provides the consumer with a contract and an endpoint address for that service.
Effigy i: SOA'due south Find-Bind-Execute Paradigm
SOA-based applications are distributed multi-tier applications that have presentation, business logic, and persistence layers. Services are the edifice blocks of SOA applications. While whatever functionality can be fabricated into a service, the claiming is to ascertain a service interface that is at the right level of abstraction. Services should provide coarse-grained functionality.
Realizing SOA with Web Services
Spider web services are software systems designed to support interoperable machine-to-motorcar interaction over a network. This interoperability is gained through a set up of XML-based open standards, such every bit WSDL, Soap, and UDDI. These standards provide a common approach for defining, publishing, and using web services.
Sun'south Java Web Services Developer Pack 1.5 (Java WSDP 1.5) and Java 2 Platform, Enterprise Edition (J2EE) 1.iv can be used to develop state-of-the-fine art spider web services to implement SOA. The J2EE 1.4 platform enables y'all to build and deploy web services in your IT infrastructure on the awarding server platform. Information technology provides the tools yous need to quickly build, exam, and deploy web services and clients that interoperate with other spider web services and clients running on Java-based or not-Java-based platforms. In improver, it enables businesses to expose their existing J2EE applications as web services. Servlets and Enterprise JavaBeans components (EJBs) can exist exposed as spider web services that can exist accessed by Java-based or non-Java-based spider web service clients. J2EE applications can human action as web service clients themselves, and they can communicate with other spider web services, regardless of how they are implemented.
Spider web Service APIs
The Java WSDP 1.five and J2EE 1.four platforms provide the Java APIs for XML (JAX) that are shown in Table 1.
Table 1: Java APIs for XML (JAX) provided by J2EE 1.4
Note: JAX-RPC 1.1 and SAAJ 1.ii include support for the Web Services Interoperability (WS-I) and the Web Services Interoperability Basic Profile (WSI-BP), currently being developed past http://www.ws-i.org, which provides a set of guidelines on how to develop interoperable web services.
With the APIs described in Table one, you lot can focus on high-level programming tasks, rather than depression-level issues of XML and spider web services. In other words, y'all tin can start developing and using Coffee WSDP one.5 and J2EE 1.iv web services without knowing much about XML and web services standards. Yous only demand to deal with Coffee semantics, such as method invocation and data types. The dirty work is done behind the scenes, as discussed farther in the next section.
Effigy ii illustrates how the JAXR and JAX-RPC APIs play a office in publishing, discovering, and using spider web services and thus realizing SOA.
Figure 2: Web services Publish-Notice-Invoke model
Web Services Endpoints in J2EE i.4
The J2EE ane.4 platform provides a standardized machinery to expose servlets and EJBs every bit spider web services. Such services are considered spider web service endpoints (or web service ports), and can be described using WSDL and published in a UDDI registry so that they tin can be discovered and used by web service clients.
In one case a web service is discovered, the client makes a request to a spider web service. The spider web service processes the request and sends the response back to the client. To get a feeling for what happens behind the scenes, consider Effigy 2, which shows how a Java customer communicates with a Java spider web service in the J2EE i.four platform. Notation that J2EE applications can use spider web services published by other providers, regardless of how they are implemented. In the example of non-Coffee-based clients and services, the figure would change slightly, however. As mentioned earlier, all the details between the asking and the response happen behind the scenes. Y'all only deal with typical Java programming language semantics, such as Java method calls, Java data types, and and so forth. You needn't worry almost mapping Coffee to XML and vice-versa, or constructing SOAP letters. All this low-level work is done behind the scenes, allowing you lot to focus on the high-level problems.
Effigy 3: A Java Customer Calling a J2EE Web
Annotation: J2EE one.4 and Coffee WSDP 1.5 support both RPC-based and certificate-oriented web services. In other words, once a service is discovered, the customer tin can invoke remote process calls on the methods offered by the service, or ship an XML document to the web service to be processed
Interoperability
Interoperability is the well-nigh important principle of SOA. This tin can be realized through the employ of web services, as i of the key benefits of web services is interoperability, which allows unlike distributed web services to run on a multifariousness of software platforms and hardware architectures. The Coffee programming language is already a champion when it comes to platform independence, and consequently the J2EE one.4 and Java WSDP 1.v platforms represent the ideal platforms for developing portable and interoperable web services.
Interoperability and portability start with the standard specifications themselves. The J2EE i.4 and Java WSDP i.5 platforms include the technologies that back up Soap, WSDL, UDDI, and ebXML. This core prepare of specifications -- which are used to describe, publish, enable discovery, and invoke web services -- are based on XML and XML Schema. If you accept been keeping upwards with these core specifications, you know it's hard to determine which products back up which levels (or versions) of the specifications. This task becomes harder when you desire to ensure that your web services are interoperable.
The Web Services Interoperability Arrangement (WS-I) is an open, industry arrangement committed to promoting interoperability among web services based on mutual, industry-accepted definitions and related XML standards back up. WS-I creates guidelines and tools to assistance developers build interoperable web services.
WS-I addresses the interoperability demand through profiles. The first contour, WS-I Basic Profile ane.0 (which includes XML Schema ane.0, SOAP 1.ane, WSDL one.1, and UDDI 2.0), attempts to improve interoperability within its scope, which is divisional by the specification referenced by it.
Since the J2EE i.4 and Java WSDP 1.5 platforms adhere to the WS-I Basic Profile i.0, they ensure not only that applications are portable across J2EE implementations, just also that web services are interoperable with whatsoever web service implemented on whatever other platform that conforms to WS-I standards such as .Cyberspace.
Challenges in Moving to SOA
SOA is normally realized through web services. Web services specifications may add together to the confusion of how to best utilize SOA to solve business problems. In order for a shine transition to SOA, managers and developers in organizations should known that:
- SOA is an architectural mode that has been effectually for years. Web services are the preferred fashion to realize SOA.
- SOA is more than just deploying software. Organizations need to analyze their pattern techniques and development methodology and partner/client/supplier human relationship.
- Moving to SOA should be washed incrementally and this requires a shift in how we compose service-based applications while maximizing existing It investments.
Sunday has recognized the challenges customers face up in moving to SOA and has developed an SOA Opportunity Assessment service offering that leverages years of experience in delivering enabling technology solutions that met the unique needs of each client. Sun's SOA Opportunity Cess provides customers with an assay of their organization's readiness to move to SOA, and a fix of best practices developed to complement this service offering, and helps them identify business-relevant opportunities for building their service-oriented applications using architectural best practices and reusable design patterns. For more information on this as well equally boosted Sun SOA services offerings.
In addition, Sun's Coffee BluePrints provide developers with guidelines, patterns, and sample applications. Java BluePrints has a book on Designing Web Services with J2EE ane.4, which is the authoritative guide to the best practices for designing and integrating enterprise-level web services using J2EE 1.iv. It provides the guidelines, patterns, and real-world examples architects and developers demand in order to shorten the learning curve and start building robust, scalable, and portable solutions.
Coffee Business Integration
Enterprises take invested heavily in big-calibration packaged application software such every bit enterprise resources planning (ERP), supply chain management (SCM), customer relationship management (CRM), and other systems to run their businesses. It managers are being asked to deliver the adjacent generation of software applications that will provide new functionality, while leveraging existing IT investments. The solution to this is integration technology; the available integration technology solutions, however, are proprietary and practice not interoperate with each other. The advent of spider web services and SOA offers potential for lower integration costs and greater flexibility.
JSR 208 Coffee Concern Integration (JBI), is a specification for a standard that describes plug-in technology for organisation software that enables a service-oriented compages for edifice integration server software. JBI adopts SOA to maximize the decoupling between components, and create well-defined interoperation semantics founded on standards-based messaging. JSR 208 describes the service provider interfaces (SPIs) that service engines and bindings plug into, as well as the normalized bulletin service that they use to communicate with each other. It is of import to note that JSR 208 doesn't define the engines or tools themselves. JSR 208 has the post-obit business advantages:
- Information technology is itself a service-oriented compages that will be highly flexible, extensible, and scalable.
- Service engines could exist implemented in whatever language every bit long as they support the SPI definition implemented by JSR 208 compliant systems.
- New engines can be added to the container by plugging them into the standard SPI and defining the messages they will employ to interact with the remainder of the system.
- ISVs that specialize in 1 of these components could exist able to plug special-purpose engines into industry-standard integration solutions.
- Open interfaces volition enable gratuitous and open competition around the implementation of these engines. This means that customers will be free to choose the best solution available, and their integration code can be migrated between implementations.
A JSR 208 example compages is shown in Figure 4.
Figure 4: An Example Architecture Based on JSR 208
As you can encounter, JBI provides an environment in which plug-in components reside. Interaction between the plug-in components is past means of message-based service invocation. Services produced and consumed by plug-in components are modeled using WSDL (version 2.0). A normalized bulletin consists of two parts: the abstract XML bulletin, and message metadata (or message context data), which allows for association of extra information with a particular bulletin as it is processed past plug-in and system components.
Project Shasta
Dominicus'south Project Shasta, which is based on the JSR 208 architecture, aims to build a side by side-generation integration solution. This project will exist implemented on Sun's J2EE application server and leverage J2EE services such as Java Bulletin Service (JMS), J2EE Connector Architecture (JCA), failover, and high availability. It will characteristic many of the emerging standards in the web services (such as web service notification, coordination, and transaction direction) and integration space. The project will be focused on web services and using them to enable the cosmos of service-oriented architectures. Figure v depicts what a fully implemented product could look like.
Figure five: An Instance Architecture Based on JSR 208
Web Services and J2EE 1.four for Enterprise Application Integration
Spider web services, which build on knowledge gained from other mature distributed environments (such every bit CORBA and RMI), offer a standardized approach to application-to-application communication and interoperability. They provide a manner for applications to betrayal their functionality over the spider web, regardless of the application's programming linguistic communication or platform. In other words, they permit application developers to primary and manage the heterogeneity of EIS.
Spider web services permit developers reuse existing information avails past providing developers with standard means to access middle-tier and back-end services and integrate them with other applications.
Since web services represent gateways to existing back-terminate servers, strong support for back-finish integration is required. This is where the J2EE platform comes into play. The J2EE platform provides industry-standard APIs (such every bit the J2EE Connector Architecture, the JDBC API, Java Message Service (JMS), among others) for accessing legacy data systems. J2EE i.4 (which supports web services) provides an excellent mechanism to integrate legacy EIS and expose their functionality every bit interoperable web services, thereby making legacy data available on heterogeneous platform environments.
Determination
The advent of web services and SOA offers potential for lower integration costs and greater flexibility. An important aspect of SOA is the separation of the service interface (the what) from its implementation (the how). Such services are consumed past clients that are not concerned with how these services will execute their requests. Spider web services are the next footstep in the Web's evolution, since they promise the infrastructure and tools for automation of business-to-concern relationships over the Cyberspace.
JSR 208 (Coffee Business Integration) has the potential to revolutionize the manufacture as it provides a style for platform vendors, system integrators, and enterprise software developers to collaborate on integration solutions that accept the flexibility to move with a changing market.
For More Information
- JSR 208: Java Business Integration
- Java WSDP 1.five
- Java BluePrints
What Is Service Oriented Architecture (Soa), And How Does It Support Modern Supply Chain Management?,
Source: https://www.oracle.com/technical-resources/articles/javase/soa.html
Posted by: dowdypromicame.blogspot.com

0 Response to "What Is Service Oriented Architecture (Soa), And How Does It Support Modern Supply Chain Management?"
Post a Comment