Chapter 15: WebSphere Summary


Overview

Recent market feedback suggests that most people underutilize the power of their application servers. Customers often limit themselves to only building web front-ends – essentially using the application server as a glorified web server. They overlook and ignore the potential of the application server for building transactional business logic, or for integrating their independent lines of business. Interviews suggest that the primary reason for this is inadequate skill and experience – not enough programmers have learned how to build effective J2EE applications. If this is true for you also then it suggests that you're not getting all of the value out your application server; but more importantly it also suggests that you're spending your valuable time and skills on unnecessary tasks.

Application servers are workhorses. Don't underestimate the power that an application server can offer as the foundation for all of your business computing requirements. Application servers are as fundamental to your information systems infrastructure as databases and messaging systems. Think of the application server as a modern transaction monitor, as a hub for integrating your business, and a platform for building dynamic business processes.

Good middleware design incorporates three key principles: precision to work well; tolerance to work with varying conditions; and strength to keep working under stress. WebSphere is designed to blend the precision needed to run your business efficiently, the tolerance needed to handle your specific computing requirements, and the strength needed to handle your largest workload demands.

After reading this book you should have the skill that you need to build applications that harness the power of the application server. To recap a few key points made in this book:

  • WebSphere supports four basic models of e-business computing ranging from traditional multi-tiered distributed computing, to web-based computing, to enterprise integration and business management, to service-oriented computing. Within this we define some ten fundamental component design patterns. We suggest that you spend some time examining the published material about patterns for e-business for guidance on how to assemble your application for your specific deployment needs.

  • WebSphere is fundamentally a J2EE 1.3 conforming application server based on the Java language standards. WebSphere also extends beyond the J2EE standards to support and incorporate the broad set of web services standards.

  • The WebSphere family is partitioned to differentiate support for the open standards and support for the extensions that are most commonly needed to build sophisticated and powerful enterprise solutions. This differentiation helps you distinguish between building a conforming application that can be easily ported to other compliant J2EE application servers, and building applications that are tailored to solving the complex problems that you may be facing in your enterprise. In fact, most of the WAS Enterprise functions were derived from direct work between IBM research and development labs and customers – these services are already proven to be critical to the success of customer applications even before they're delivered as part of the WebSphere product. While the extensions introduced by WAS Enterprise edition may be proprietary, IBM is introducing many of these extensions for standardization and so while your investment in these extensions may be motivated now by immediate needs in your enterprise, you may be able to re-gain the ability to port these if and when other application server vendors adopt those same standards.

  • In addition to differentiating between standard vs. extended programming features, the WebSphere family also differentiates between a single, stand-alone server configuration and a multi-server, centrally administered configuration with the WAS Network Deployment edition. The ND edition enables you to federate multiple application servers on different computers in to a single network, which you can administer from a single console. You can aggregate multiple servers in to a cluster – allowing you to distribute the workload of any application deployed to the cluster over many different processes or computers.

  • WebSphere Studio Application Developer is an essential part of the WebSphere experience. You can create conforming applications to run on WebSphere with other development tools, but WSAD is designed with specific knowledge of the WebSphere Application Server. Chief amongst these synergies is the integration of the WebSphere Application Sever as the unit-test environment for WSAD. You can build and test your application without ever leaving the WSAD integrated development environment. Changes you make to your application are automatically re-deployed to the runtime test environment. You can use the Universal Test Client to quickly exercise the functions you create. The unit-test application server is the same application server implementation that you will be using in production and so your test results will accurately reflect the correctness of your application.

  • The Enterprise programming model extensions introduced in the WAS Enterprise edition are complemented by a corresponding set of tools extensions in WSAD and delivered in the WSAD Integration edition version of the tools product. Like the base WSAD product, the unit test environment of the WSAD IE tool is the WebSphere Application Server – extended in this case with the Enterprise edition runtime services. This will ensure your test results are valid to your production environment.

  • The development process for creating applications to be hosted on the application server has been divided into multiple steps to enable different roles to contribute their expertise to the end solution. As the bean developer your responsibility is to formulate the design of the application, and to codify your knowledge of the business domain and application requirements. In doing so, you can express any constraints and assumptions that you've built into your application components. The Assembler is responsible for aggregating your components with components from other bean developers into a cohesive solution. The Deployer is responsible for mapping the application components to the specifics of the enterprise computing environment, including mapping the abstract persistence schema of the application components to the concrete schema of the database design in your information system. The Administrator is responsible installing the application and managing it in the information system – ensuring that is configured and balanced for maximum efficiency.

  • Building client presentation using JSP pages and servlets is fundamental to web-enabling your application. It is important to maintain a clear separation of concerns between the presentation logic (defining how your application will interact with end users) and business logic (a model and encoding of the business functions and controls that your application uses). This separation can be enhanced with the use of model wrappers that allow for parallel development of your presentation logic and business logic.

  • WebSphere encourages the use of EJBs for capturing basic business functions. In particular, you should use container-managed persistence for your entity beans. The EJB 2.0 specification has introduced enhancements that dramatically improve the utility and appropriateness of entity beans for business logic. With its broad knowledge of everything else that is going on in the execution environment, including what other applications are installed, what access intent policies different clients are operating with, and the interrelationships between different beans, along with its use of internal data caches, the EJB container in WebSphere can generally achieve a higher degree of throughput and more efficient resource utilization than you could independently within your own bean implementation of persistence. As a general rule of thumb, you should implement entity beans with local interfaces, and use session beans to provide remote access to business functions that operate on those entity beans.

  • Session beans that capture the business services of your application can then be promoted into web services that can be exposed to and exploited by other lines of business within your enterprise, or optionally by other businesses that you work with.

  • Web services can also be used within your application to encapsulate the boundaries to other information systems in your enterprise that you want to integrate with WebSphere. The web services encapsulation boundary, as represented by the Web Services Definition Language (WSDL), is used to build Java 2 Connector adapters, and within those micro-flows can be used to orchestrate multiple interactions with the external information system to compose a higher-order realization of that integration.

  • Asynchronous messaging has also come front and center to enterprise application design for WebSphere. Version 5.0 of WebSphere ships with an embedded JMS message provider supporting point-to-point (queue-oriented) and publish-subscribe (topic-oriented) messaging with or without persistence. Message-driven beans, as defined in EJB 2.0, allow you to easily integrate messaging with your EJBs – driving EJB requests from a given in-bound message queue, or a notification topic that you want to subscribe to.

  • WebSphere has even further enhanced the benefits of container-managed persistence with the introduction of deployment policies that capture the intent of the bean methods and your client usage patterns through access intents. These policies can be used by the container to optimize the management of your components – locking the state of your beans in the underlying data system in a way that allows for maximum concurrent access to the state of your enterprise information while maintaining the integrity of your business data. This capability is extended even further with the use of application profiles that recognize the different ways in which your application clients might use your beans for different purposes. Application profiling allows the management of your beans to be tailored to each client scenario.

  • The WebSphere EJB programming model has been extended to allow you to invoke queries on collections of EJBs entirely in object-space dynamically encoded in your application – the component-oriented equivalent of dynamic-SQL. The query engine performs these queries efficiently be re-writing the component-oriented query request to push-down as much of the query as possible into the underlying data system – using metadata generated during application deployment to map between the component-oriented semantics of your external object design and the concrete schema of your underlying data system.

  • Transaction and activity-session unit-of-work scopes are expanded and clarified by WebSphere. The semantics of unspecified and local transactions and their relationships to global transaction and sessions are tightened up by WebSphere – removing some of the ambiguity that exists in the J2EE specifications around these scoping mechanisms. WebSphere introduces the idea of an activity-session providing a broader unit-of-work scope than can be normally achieved with global transactions – allowing you to provide some level of coordination among resources that are not normally able to participate in two-phase commit protocols.

  • Business process management promises to leverage the foundations being established with the formulation of business applications on WebSphere to greatly enhance the productivity of business managers and the influence they have over their business. Business process management allows a business manager to gain advantage by first giving them the tools to formalize the model of their business processes – an activity that can have benefit all by itself in the way that it can provide insight into their business – but also by allowing them to use that model to drive the integration and flow of otherwise disparate business activities across their entire organization. Having gained that much advantage, business process management extends that even further by giving business managers the ability to manipulate their business processes – extending and modifying those processes to help them respond to new or changing business opportunities.

  • From a programming perspective, business process management is a composition technology – helping you be more productive in integrating your components to meet the requirements placed on you by the business. The business process engine operates on a new component model, called a process-definition, which can be created using a graphical wiring tablet in WSAD IE. The tool enables rapid development and maintenance of process definitions that choreograph the integration of your business services – using web services interfaces. Thus, any web service in your enterprise (whether hosted by WebSphere or not) can be integrated into your business processes. The business process engine also allows you to define compensating transactions that allow you to define very long running business process (transactions) that avoid the normal temporal constraints of a two-phase, ACID transaction, and yet still retain the ability to be recovered in the event of a failure in the transaction.

  • IBM, working with Microsoft and BEA, formulated the Business Process Execution Language for Web Services (BPEL4WS) standard for specifying process definitions. BPEL4WS is derived from the combination of the Web Services Flow Language (WSFL), already supported by the WebSphere workflow engine, and elements of the XLang specification written by Microsoft. Business processes that you define with the WAS-E workflow engine now should port easily to the BPEL4WS standard in the future.

  • The Business Rules Framework is a powerful mechanism for maintaining a separation of concerns between your relatively stable business functions and business rules and policies that are much more prone to change often. The framework allows you isolate the dynamic aspects of your logic, and yet maintain a high degree of consistency with fundamental concepts in your business design. For example, the business rules framework allows you to select different rules for classifications of your customers (Gold, Silver, Bronze) and apply the rule-results to the same conditional logic.

  • The Enterprise edition of WAS targets a set of other services at those situations you are likely to encounter as you increase the reach and complexity of the work you are trying to perform. These services include support for propagating internationalization context (locale and timezone information) between different parts of your distributed system; the ability to define application context that will be implicitly propagated across your application components; the ability to be notified when your application is open or closed for business; and support for spawning parallel work within your application.

  • WebSphere can be deployed in a number of different configurations – ranging from a single, standalone server through to a multi-machine network of clustered servers. An important element in any robust production configuration is the placement and configuration of a Demilitarized Zone (DMZ) to protect your applications from intrusion attacks from the Internet; and the placement of proxy servers at the edge of your enterprise or your network (edge servers) for offloading frequent access to web content (content caching).

  • Hopefully we've all learned the importance of securing our applications. The strategy that you will use to secure your application must be considered up front during the design phases of your application development. Having said that, WebSphere makes it possible, and in fact encourages you to avoid encoding security functions in your application – rather you should employ policy declarations to express your security needs, and then use external security tools to satisfy those needs. The WebSphere runtime will enforce the synthesis of your policy declarations and the control policies set by your security administration tools in the execution environment of your applications. If you don't want to use, or don't have a set of external security management tools, WebSphere provides a set of tools that can be used out of the box for your entry scenarios.

  • Configuring your WebSphere network, installing and configuring your applications, and monitoring and managing your operational system can be performed through the WebSphere middleware management facilities. WebSphere employs a single comprehensive management architecture for all editions of WebSphere. This consistency shows through in all topologies – from single, standalone configurations through multi-node clustered configurations, and even into WebSphere for zOS. WebSphere honors the distinction between middleware management and enterprise system management. Middleware management provides the facilities needed to manage the WebSphere middleware environment and your applications hosted on it. Enterprise system management is about managing your entire enterprise information system – including both the WebSphere middleware environment and the facilities that you use in your enterprise to host other applications that are not based on WebSphere. While maintaining this distinction, WebSphere also can be plugged into your enterprise system management environment – acting as an agent to the WebSphere middleware environment.

  • In addition, WebSphere offers a rich set of tools and facilities for servicing the WebSphere runtime and the applications hosted on the runtime. These include logging interfaces that you can use within your application, log-analysis tools, performance monitoring tools, and first-failure data capture facilities. In the event of a significant problem, you can quickly gather logs and other service data to send to IBM with the collector tool.

  • The WebSphere middleware management system offers command-line and scripting interfaces and Ant tasks that you can use within your environment to automate your administrative procedures.

  • The WebSphere middleware management system is built around the Java Management Extensions (JMX) programming standard. JMX programming interfaces and extensions are exposed to system management application and product developers to control the configuration, monitoring, and operations management of WebSphere. The WebSphere middleware management console facility is itself built on these interfaces.

  • A large portion of the breadth of services and capability of WebSphere are discussed in this book. Nonetheless, it has not been possible to cover everything. WebSphere supports other facilities for container-managed messaging; gatewaying of web services for mediation, filtering and limiting exposure to internal business services on the Internet; a Universal Description, Discovery, and Integration (UDDI) registry for private network scenarios; and a C++ ORB server for use in situations where you may be transitioning from another ORB vendor or a C++ legacy application and need to stage the conversion to a J2EE environment.

In summary, WebSphere offers you a tremendous opportunity to build efficient, flexible, and durable applications. You have the domain knowledge to understand what is required of your application. Through this book you should have acquired the skill that you need to build applications that exploit WebSphere. What you need now is experience. There's only one way to gain that.

The WebSphere Application Server incorporates four decades of accumulated knowledge about information computing: transaction processing; distributed computing; connection management; resource utilization and virtualization; query processing; web-based computing; data and systems security; object-oriented and component-based programming; message-oriented middleware; parallel-processing and clustering for performance, through-put, high-availability and failover; service-oriented architecture; business process management; MVC presentation architecture; caching and data coherency; rules processing, internationalization, systems management and administration; serviceability and autonomics – all based on extensible, open systems standards and coupled with a rich set of integrated, visual, and intelligent tools that are a showcase of technological coalescence in their own right. WebSphere is a finely engineered global freight hauler. All you have to do is load it up with the business applications you want delivered and put your foot down on the throttle – it'll take you where you want to go.




Professional IBM WebSphere 5. 0 Applicationa Server
Professional IBM WebSphere 5. 0 Applicationa Server
ISBN: N/A
EAN: N/A
Year: 2001
Pages: 135

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net