Service-oriented architecture standard

xiaoxiao2021-03-06  123

Serving the service-oriented architecture standard why leading technology does not mean manufacturers lock

Author: Scott Dietzen BEA Systems, Inc. CTO

The XML and Web services are appearing as a platform for the service architecture (SOA), which can be used in internal communications, or inter-business communication. As the first Java integrated development environment (IDE) that supports SOA, it also supports SOA-utilized Java Integrated Development Environment (IDE), WebLogic Workshop is born with exclusive innovation. Since then, BEA has implemented various mechanisms, from open standards to open source, which has enabled these innovations to invest protection, so that developers can make full use of BEA's leading production capacity and integrated features, but don't worry to lock A manufacturer. Below, let's take a look at how SOA-based regency innovation in Workshop, and how to protect investment in each case.

What is SOA? XML and Web services are today's popular technology because they act on a service-oriented architecture (SOA) as an important role. At present, independent, and is usually mutually isolated, restricting business services, and SOA is solving this problem. By defining a single business operation or in the surface layer, the IT organization enables the following objectives: Q makes the IT resource more closely together with its business functions. Q By the best combination and matching of the following methods, the system is established to create a more dynamic, more efficient use of costs. q Purchase and self-built Q Homemade and Outsourcing Q more quickly publish "combination" applications (think about "Web Flow]" and "Work Flow]"), provide unified, mission-oriented cross-service view. Q Get higher flexibility in the application lifecycle through more detailed incremental management requirements and changes. Q is replaced with an opaque, "black box" system, which provides "business transparency", "black box" system is easier - this infrastructure provides real-time business intelligence based on the overall information flowing through the application. Objects and components have been successfully provided in the application (the application definition is: the code developed and deployed in units). However, SOA depends on reuse between applications. Use SOA to connect different applications, this is not new - think about some efforts to define distributed, application communication architectures (do not need to worry about what new first alphabet): Q Synchronization (RPC): CICS Distributed Program Link (DPL), Distributed Calculation Environment (DCE), Distributed Component Object Model (DCOM), Public Object Request Agent Architecture (CORBA) IIOP, Java Remote Method Call (RMI) , Relationship Database Management System (RDBMS) stored procedure, etc. q Asynchronous (Message): CICS Temporary Data Queraore (TDQ), Tuxedo ATM, IBM MQSeries, Tibco Rendezvous, Microsoft Message Queue (MSMQ), Java Message Service (JMS), and more. What is the integration of the application so difficult? (And, thereby launching why we have a unified SOA as a industry) This is because the application is built by different developers, and is based on different places, and is based on different plans deployment . Any method, as long as it relies on multiple applications to share a public object / data model (at least some degree as previously mentioned), it must face this fact.

The role abstraction and loose coupling of XML and Web services is the key to successful sharing infrastructure for multiple independent applications. Consider two success typical: SQL and HTML. With SQL and HTML, application developers must use the internal object model to store, how to search, and how to disassemble separately on the screen. If we just consider the needs of a single application, then this choice is usually not the best choice. However, if the overall demand between cross-business applications increases, the loose coupling that enables higher level abstraction will prove its value. XML is an ideal solution for loose coupling applications, XML has the following characteristics: Q Self-explanatory Q independently of hardware, programming language, container, etc. Can adapt to independent changes / version changes (for expansion and application changes, Not very fragile) Q is "Minimal Bran" (specifically, CPU intensive, etc., like html) XML is for HTML, just like the web service stack is for http / s. WS - * (Web Service Specifications Supported by the Wide Industry) defines "Enterprise Service Quality" that moves XML between applications. Despite the limited space, it is not possible to introduce each WS- * technology here, but it is still possible to introduce: q Previously in distributed calculations All service quality standards already exist in the WS- * stack, or have been in the near future Publish plans (as well as standardization). Q WS- * In a single, unified framework, the communication infrastructure is provided for synchronous operations (usually used for query) and asynchronous operations (usually used for business transaction). Q WS- * The protocol is the first system that extension to meet the needs of EAI within the enterprise, and even business integration (B2BI) integration requirements between enterprises. Previous technology, it has been required to achieve "close cooperation", which is not so closely (refer to, can use the company's own business system, partner's business system, and even partner's partner system, etc.) A large number of key needs. Q WS- * The protocol allows IT organizations to reduce costs with portable and interoperable industry standards and avoid locking in a manufacturer.

WebLogic Workshop was first published in 2002, WebLogic Workshop became the first Java IDE written by XML and Web services. With the release of BEA WebLogic 8.1 in 2003, we have turned WebLogic Workshop's Web service tools from version 1.0 into a unique inconvenient development environment, which can be written, utilized, and the SOA-based applications can be written. With Workshop, you can create any SOA-oriented code, including pure web applications, J2EE programs, portals, business process automation, XML aggregation / conversion, message agents, and more. When I posted the first IDE for SOA (before Workshop 8.1, the integrated technology development level is a bunch of hodgeppotpyppiaplodges that do not integrate each other), BEA has indeed introduced multiple proprietary innovations. After all, there is a dedicated and innovation has a relationship with the innate. There are a large number of examples, many standards are recognized by adoption, not self-innovation, thus become better: TCP / IP, SQL, Web, Java, and XML / Web services are along this road. of. Recalling WebLogic's first edition (return to 1996, whether it is still controversial for the first web application server for the industry), including a large number of web pages, database access, event processing, server-side components, etc. Dedicated innovation. WebLogic is better than other dedicated technologies (worth noting that IBM's Web Sphere) is that WebLogic has already actively puts the API standardization work committee (Servlets / Java Server Pages [JSP], Java Database Connection [ JDBC], JMS, Enterprise Java Beans [EJB], etc.). BEA has been vigorously protecting our investment for SOA in Workshop Innovation. We have a variety of means to ensure the protection of investment: Q BEA / Microsoft / IBM WS- * Collaboration - WS- * The protocol is mainly developed by these three manufacturers (before standardization) Q ws- * standardization - W3C The Committee and Oasis (Structured Information Standard Promotion Organization) Q WS- * Verification and Analysis --Web Service Interoperability (WS-I) Programming Model: Q BEA and IBM Java Collaboration - released in 2003, This collaboration is built on the BEA / IBM / Microsoft Web service collaboration. Its focus is on the standardization of the server-side Java API, especially SOA, Q Java Community Project (JCP) Q European Computer Manufacturer Association (ECMA) (for example, XScript) Q W3C (for example, xQuery) q oasis (for example,, Business process executing language [BPEL]) q Workshop product portability - If Workshop generates applications that meet J2EE standards, then this product can run in other containers in the J2EE specification in any container Q open source software (OSS) ) - Map to J2EE's open source running infrastructure, thus supporting portability of containers outside WebLogic

Top ten measures to invest in Workshop In fact, for each innovation in WebLogic Workshop 8.1 IDE, BEA will provide or publish a long-term investment protection method for customers or partners. Below, let's take a look at Workshop's top 10 innovations and how to protect investments in applications developed in Workshop. (10) Metadata and JSR-175: Workshop Plenty of Javadoc annotation to get the application's metadata-metadata refers to the declaration instructions to the container, and the instructions are encapsulated by those frequent use but usually very complicated. Developers are not Willing to repeat the part of the activity of the code. Smart tools like Workshop provide structured support (such as attributes) for writing and updating such metadata. By embedding these metadata, it is less code that the developer needs to program when the program is included in the application. (The XML deployment descriptor is still generated by the corresponding tool.) At least part is because of the popularity of this method, the other members of the Sun and Java communities have decided to use a lot of metadata directly in the Java language (JSR-175, which is included J2SE version 1.5. Existing Workshop products will automatically upgrade the upcoming version of WebLogic to JSR-175 syntax. (9) BPEL, BPELJ and JPD: BPEL specification was initially developed by BEA, IBM and Microsoft - this is a set of best intellectual property portfolios, including xlang, IBM WSFL, and BEA Process Definition for Java. (For Java process definition, JPD). Since then, BPEL has changed to Oasis for normalization. BPEL is based on XML-based programming language, which is also written in XML, so it is independent of the platform (it can run on platforms such as Java, .NET). BPEL can be used to define (written) Web services, you can also arrange (write Workflows using web services) Web services. All data manipulation in BPEL is done with XML and Web services. For example, the condition is written in XPath, the message is sent and received by the WSDL port type, and so on. On the other hand, BPELJ (BPEL for Java) defines how to mix BPEL and Java (mixed mode with JSP different ways to mix HTML and Java). The use of BPELJ, condition and data manipulation can be done by code segment annotated by Java code. This allows traditional business calculations, such as database access by JDBC, seamlessly integrated with BPELJ-based business processes. BPELJ allows Java / J2EE components, such as JavaBeans, can be arranged in the same way as web service arranging. BPELJ's technical white paper was jointly released by BEA and IBM in March 2004, and has become the topic of Java standardization through JSR-207 (BEA is the leader of this norm). BEA is currently trying to implement BPELJ in the next main release of WebLogic, which will also provide automatic porting of workflows defined in Workshop 8.1 (process definition of BPELJ - Java) to BPELJ. In WebLogic Integration 8.1, we exclusively integrate superior business process graphical editing tools, which has the ability of "Get Out of Jail Free Card" to make standard Java / J2EE make more difficult programming work - do these When working, do not have to leave Workshop's unified development environment.

At the same time, Workshop is very simple to develop messages driven without sacrificing investment protection. Whether it is synchronous or asynchronous, web services or JavaBeans, HTTP or JMS, WS- * protocol or alternative (RosettaTaNet, EBXML, EDI, etc.), BPEL / BPELJ and WORKSHOP will make the work easier. (8) XMLQuery: XMLQuery (or XQuery) is rapidly becoming "XML SQL" - that is, the positioning of xQuery is a primary language for manipulation, conversion, and aggregating XML data. XQuery is the standardized topic selected by W3C. When converting XML, XML Query is easier to use than XSLT and is almost six times. (XSLT complexity and slowness is why most competing integrated vendors choose a dedicated solution) Moreover, and tools like Workshop also allow conversion ("XMAPS") and combined XML documents (for example, By querying the existing Enterprise Application - Enterprise Resource Program (ERP), Customer Relationship Management (CRM), legacy applications, etc. to get the overall customer record.) BEA is called "Liquid Data". Implementation in WebLogic 8.1, greatly leads to other commercial products and has been integrated with WebLogic Workshop, WebLogic Integration, and Liquid Data for WebLogic. (7) Java Web Services (JWS) and JSR-181: Workshop 1.0 introduces metadata, making the WEB service is almost as easy as writing ordinary old Java objects (Pojo): After all, why developers are just to write one A simple web service of reliable and / or dialogue, you must repeat the J2EE logic manually written into a hundred rows of J2EE logic? The basic annotation synthesis of Workshop JWS is standardized in JSR-181 (BEA is the leader of this specification). Here is a very simple web service example, with Pojo plus two JSR-181 annotations: @WebServicePublic Class stock QuoteService {@WebMethod Public Float getLastTradeprice (String Tickersymbol) {// ...}};

Use further annotations, modes, and WSDL, you can customize it:

@WebService (name = "example", targetnamespace = "http://www.openuri.org/ Examplestock QuoteService / myexamples")

public class StockQuoteService {@WebMethod (operationName = "GetLastTradePrice") @DocumentWrapper (requestElement (name = "TradePricesRequest") responseElement (name = "TradePriceResponse")) public float getLastTradePrice (String tickerSymbol) {}};

Of course, Workshop's JWS will continue to define annotations to "open" Web service architecture more rich service quality features:

@WebService (targetNamespace = "http://workshop.bea.com/ CreditReport") @ Conversation (maxAge = "1 hour", maxIdleTime = "30 minutes") public class CreditReportService {@WebMethod @ConversationPhase (START) @Reliable public void requestReport (String ssn) {} @WebMethod @ConversationPhase (CONTINUE) public ReportResult getCurrentStatus () {} @WebMethod @ConversationPhase (FINISH) public void cancelReport () {}};

Although these more rich annotations will not be an integral part of JSR-181 (in part because containers other than WebLogic), BEA is still migrating JWS files, It uses JSR-175-based metadata. At the same time, it is guaranteed to use a thin line of open source. A full JWS file can be deployed to any J2EE container. In subsequent versions of JSR-181, we want to join JWS's remainder. (6) EJBGEN and EJB "3.0": EJBGEN significantly increased the productivity of EJB programming. EJBGEN is annotated using Javadoc, so it is extremely easy to turn the POJO into EJB. EJBGEN is now part of WebLogic Workshop, so its syntax is easy to learn. In the long run, we are transforming the syntax of EJBGEN to JSR-175-based metadata (Workshop will of course provide automatic transplantation):

@Session public class purchaseorderService {public string submitpurchaseORDER (PO) {}}

In addition, BEA is collaborating with a larger Java community, I hope to standardize such annotations and add the next major revision of the EJB standard. More importantly, any existing EJB project can be loaded into Workshop, edited with EJBGEN, and then EJBGen output EJB project is a standard EJB project that can be run in any J2EE specification. (5) XMLBeans: A main tempting based on XML-based application is "loose coupling" - loosely coupled applications are not affected by the change of XML / Web service interface, and vice versa. However, in practice, existing XML programming models are quite boring, easy to make mistakes, far from the goal of loosely coupled. XMLBeans is an "XML-Mode Compiler" (which generates Java package from XML mode), which can solve all of these problems and provide efficient and lossless manipulation of XML. In the long run, XMLBeans has been tracking the Java-XML binding standards that are being appearing. Xmlbeans has been used as an Apache open source code project can be used on applications other than WebLogic. (4) XScript: If you use itself, you support XML embedded scripts, many XML operations can be implemented more simply. Workshop 1.0 introduces XScript (sometimes described as "XML extended JavaScript"), is to achieve this. BEA establishes and leads the ECMAScript For XML (E4X) group to contribute this technology to the International Java / ECMAScript language standard. In March 2004, E4X received the consistency of the ECMA TC39 (Programming Language Committee), which made ECMAScript became the first mainstream programming language that included the XML support. ECMA General Assembly is expected to ultimately pass an international E4X standard in June 2004. (3) Page Flow for Java (JPF) and Struts: Apache Struts is the factual standard for the "Model-View-Controller" framework based on Java-based web user interface. Its trouble is that writing Struts applications is a code-intensive and too complicated work. Workshop's Page Flow for Java (JPF) manages data and business logic flow in graphical ways to support complicated Struts application programming with drag and drop. JPF's runtime is a standard Struts extension, and BEA has been used to Tomcat and other J2EE / Servlet 1.3 containers in the form of a portable kit. Moreover, in a primary release, Workshop will also support Java Server Faces (JSF, JSR-127), which will make Struts-based components and JSF-based components more easily mixed and matched. (2) Portlets, WSRP and Content Management: For the repetitive development of the portal, there is no easier than the drag, let go of WebLogic Portal 8.1. However, this development is simple and should not be used as a cost of being locked by the manufacturer. The most basic components of the portal are being standardized, including the Java Portlet specification (JSR-168) for remote portals' Web services (WSRP, standardized by OASIS), and standardized interfaces for content management solutions (JSR-170).

Workshop supports the use of external applications in the BEA portal, as Workshop automatically encapsulates existing web user interfaces, or automatically utilizes applications that support WSRP. In addition, Workshop provides the ability to establish standard Java applications and establish WSRP builders, so it can be easily integrated into non-BEA portal. (1) Control: The control is a server-side component model for dragging and dropping - Drawn "Web Stream" (JPF) and "Workflow" / Business Process (JPD and BPELJ). The control is a reusable component that utilizes rich IDE integration (custom wizard, attributes, graphics), which can greatly simplify access to J2EE resources. The control also provides runtime support to intelligently handle container services (such as automatic resource management, transaction, security, asynchronous, and component nested). The Workshop control framework is scalable - there are currently more than 100 independent software vendors (ISVs) are providing their own controls, supporting the Workshop tools and unified interfaces, customizing and arranging their value-added services. The most important thing is that the customer or ISV has established a control. This control can be reused within the business process, the business process from the web application or portal, until the establishment of web services, even in the WebLogic application. Long-term, BEA is re-designing the runtime runtime (Run Time), providing portability, allowing the control to run in other containers that comply with J2EE standards. At least a thin-controlled operation of an open source, so that the Workshop control can be ported to a container that meets the J2EE standard. However, our goal is to work with others in the Java community, making controls into a fully recognized Java standard. We will wait and see. Summary Of course, it is innovative instead of investment protection for WebLogic Workshop created these exciting achievements in the first place. Workshop is the first application framework that makes J2EE programming as PowerBuilder or Visual Basic programming. It is the easiest, most abundant SOA and Web services written and arranged development environments. It is the first integration tool for application integration and Runtime. Prior to Workshop 8.1, find developers who publish to-end integrated solutions, usually have to handle different tools and runtime: Q Business Process Design / Modeling Q Business Process Perform / Manage Q Conversion Q J2EE / Web Service Development / Deploy Q J2EE / Web Service Development / Deployment Q Message Passage Agent Q User Interface (UI) Design Q Portal User Interface (UI) Aggregation Q B2BQ Collaboration (Thinking of this Surnote - in WebLogic Before Workshop 8.1, developers want to complete integration, usually take a lot of time to integrate their integrated technology.)

This top ten summary shows how BEA has through standards, open source, portable kits, and any mechanism that best meet customer investment protection needs, to fulfill their commitment to our customers' investment protection. As always, our customers can use the most advanced innovation of BEA, and at the same time, they are confident that their investment will be long-term protection. BEA realized that the days of manufacturers locked have been over, at least in the Java community. Customers need investment protection, and BEA provides customers with investment protection. Finally, let me leave some of the last thoughts: Don't forget the "architecture" in the service-oriented architecture. Realizing the real challenge of the SOA is not a manufacturer's technology. The real challenge is to define "correct" reusable business services (usually by packaging traditional applications) and then arrange these services for your business: Q business service should be Synchronous (RPC style) or asynchronous (message delivery style) or both? Q Business Services should organize a work-in-a-service unit or organize a set of messages and have a set of countermeasures when performing failure? Q How to achieve the maximum reuse between application mode? (How can I restrict their flooding in a common data type - such as a customer, order - mode? Because the flood of the pattern will increase the complexity of interoperability.) Thinking of these application architecture is independent of the underlying technology Select (and usually more important than the choice of the underlying technology!).

Acknowledgment: I got a lot when I was writing this article. Special thanks to Yaron Goland, John Beatty, Gordon Simpson and Matt Mihic.

转载请注明原文地址:https://www.9cbs.com/read-125390.html

New Post(0)