Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

It's Here! Introducing BEA WebLogic Server 7.0

It's Here! Introducing BEA WebLogic Server 7.0

Of the many challenges facing today's IT system architects, two stand out as being the most common and strategic:

1.   Integrating disparate applications and platforms to fully leverage data and software investments

2.   Providing an enterprise-class framework that ensures reliable, available, scalable, and secure applications.

BEA WebLogic Server 7.0, scheduled for release early this spring, gives developers the tools necessary to face such IT challenges. This article discusses how these challenges are solved by some of the new features in WebLogic Server 7.0.

Application Integration
Over the last couple of decades, there have been massive investments in enterprise software applications. In recent years, we've seen the adoption of ERP (Enterprise Resource Planning) packages by companies looking to automate their back-office processes and provide operational transparency to enterprise data. These concepts have also driven the adoption of CRM (Customer Relationship Management) and SCM (Supply Chain Management) packages to extend a company's reach to include its customers and partners.

Today, the typical enterprise is made up of a vast number of disparate systems purchased and implemented throughout various stages of software evolution. These systems are implemented on a variety of software and hardware platforms without a standard protocol or data model for communication between applications. The inability of these systems to share services and data has resulted in fractured, disconnected silos of applications.

The successful company of tomorrow is the one that's able to integrate these applications to share data and services, leverage existing investments, and provide a complete 360-degree view of the business. To solve these problems, WebLogic Server 7.0 provides significant enhancements to the existing WLS suite of integration capabilities.

WebLogic Web Services
Everyone is talking about Web services...but what exactly are they? At a high level, Web services enable application integration by leveraging commonly understood technologies like XML and HTTP. Web services - and associated specifications like SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and UDDI (Universal Description, Discovery, and Integration) - define the conventions used for exposing and defining a service interface, invoking a service, and discovering what services are available for consumption.

Since version 6.1, WebLogic Server has supported an "export from Java" model in which users write a Web service implementation as an Enterprise Java Bean (EJB) and the server handles the details of generating the WSDL file that describes the service and marshalling and unmarshalling the SOAP request to the back-end EJB. This eliminates the need for J2EE developers to be experts in SOAP, WSDL, or XML.

WebLogic Server was also the first platform to address the need for asynchronous Web services - a critical aspect of application-to-application communication, particularly when you must communicate with a legacy application that may have significant constraints on throughput. In this scenario, a synchronous RPC (Remote Procedure Call) invoke can have a devastating impact on application performance and scalability. WebLogic Server allows developers to implement Web services using Stateless Session EJBs (for RPC invokes) and JMS consumers such as Message Driven EJBs (for asynchronous processing).

In WebLogic Server 7.0, the Web services container has been enhanced to provide additional flexibility and to ensure interoperability with other key Web service vendors.

Web Services are implemented using three types of components:

  • Back-end J2EE components: for example, EJBs
  • Interceptors: for pre- and post-processing SOAP requests
  • Serializers/deserializers: for converting data between XML representation and Java objects
Back-end J2EE Components
In WebLogic 7.0, you can implement a single Web service with multiple backend components. Each operation on the Web service is associated with a particular method on a back-end component via the Web service deployment descriptor. This provides greater flexibility and a looser coupling between back-end logic and the interface that's exposed.

Interceptors are optional components that provide additional flexibility to help ensure the separation of business logic from the details of the messaging infrastructure. In general, WebLogic Server shields developers from having to work directly with SOAP and XML; however, some applications will require access to the message level (for example, to read and write SOAP headers). For these, interceptors can be invoked before and after the back-end component and provide complete access to the SOAP and HTTP requests and responses through a simple API.

Since a Web service implementation is written in Java, the mapping of XML parameters to Java objects is a critical aspect of the Web services container. WebLogic Server provides built-in support for simple Java types that can be straightforwardly mapped into SOAP-specified types as defined in the JAX-RPC specification. For applications that use more complex or user-defined types, the WebLogic Autotyper utility can be used to generate a serializer and deserializer that will handle the conversion at runtime. As input, WebLogic Autotyper will accept XML (or Java) representation of the types and will generate the equivalent Java (or XML) representation along with the serializer/deserializer.

The client-side model is based on the JAX-RPC specification. WebLogic Server can generate a thin Java proxy that will marshal and unmarshal SOAP requests and handle XML/Java conversion. An SSL client can also be generated for secure communication.

WebLogic Server's new Pull Parser improves the performance of Web services applications by allowing developers to target specific portions of an XML document and avoiding the need to parse the entire document, as is the case with SAX and DOM parsers.

Additionally, WebLogic Server 7.0 includes the ability to host a UDDI registry for publishing your Web services and a graphical utility for searching and modifying UDDI registries.

J2EE Connector Architecture
The J2EE Connector Architecture (CA) defines a standard way to integrate J2EE application servers with an enterprise's existing legacy applications. The CA specification defines a set of system-level contracts between the application server and a legacy application-specific resource adapter - i.e., a software driver that's specific to an underlying legacy application.

WebLogic Server 6.1 provided an implementation of the pre-final J2EE CA 1.0 specification. In WebLogic Server 7.0, this implementation is updated to comply with the final version of the specification. There are also additional enhancements to connection and security management for the J2EE CA adapters.

WebLogic jCOM
WebLogic Server 7.0 includes WebLogic jCOM, a bi-directional COM-Java bridging tool. Using WebLogic jCOM you can access Component Object Model (COM) components as though they were Java objects, and you can access pure Java objects as though they were COM Components.

Foreign Message Service Bridge
A bridge is provided for a connection between WebLogic JMS (Java Message Service) and foreign messaging service providers. This pluggable architecture supports store-and-forward between two messaging systems, mapping of message destinations, reconnection policies, and synchronous and asynchronous support. An adapter for interoperating with MQSeries is also included.

The new version includes many enhancements to the RMI/IIOP implementation, such as bi-directional support for transaction and security context propagation. This support is leveraged for interoperability with foreign EJB containers, with BEA Tuxedo via the WebLogic-Tuxedo Connector (WTC), and with legacy CORBA applications. Also available is a thin C++ client that supports clustering and failover of WebLogic Server services.

WebLogic JAM (Java Adapter for the Mainframe)
WebLogic JAM now supports bi-directional transactions with the CICS and IMS applications on the mainframe.

Version Interoperability
Since WebLogic Server 6.1, BEA has made a commitment to interoperability between server versions. WebLogic Server 7.0 is the first version able to interoperate with the previous version, WebLogic Server 6.1, over both T3 and IIOP protocols. This means that WebLogic Server 7.0 clients will be able to invoke 6.1 services, such as EJBs, using RMI, and vice versa. Additionally, a single administrative domain can contain a mix of 6.1 and 7.0 servers. This provides flexibility in determining a migration schedule for your applications.

Enterprise-Class Services
J2EE has come a long way in providing the building blocks necessary to develop enterprise applications. With the additions of JMS, J2EE CA, and significant enhancements to EJB, J2EE 1.3 provides a rich set of APIs. These services offer sophisticated component models, asynchronous processing and messaging, integration, distributed transactions, data access, and presentation capabilities. WebLogic Server 7.0 is fully compliant with the J2EE 1.3 specification.

However, enterprise applications also require security, performance, reliability, availability, and scalability. It's critical, too, that the sheer complexity of implementing and managing these services doesn't end up inhibiting their use - today's enterprises must maximize the productivity of engineering resources. WebLogic Server 7.0 provides these enterprise-class services within a single, highly usable platform.

New Security Framework
The security framework has been completely redesigned to offer a level of flexibility and control never before available with any application server platform. The pluggable, modular design exposes a set of Service Provider Interfaces (SPIs) for authentication, authorization, auditing, and PKI management. Not only does this version provide fully featured implementations of each SPI, but it also allows modules from third-party security vendors to plug right into the WebLogic Server framework. Administration tools from these third-party security vendors can be seamlessly integrated within the extensible Administration Console. Multiple modules can be associated with different resources within your system, allowing you to take full advantage of the value-adds offered by your favorite security vendors and manage them all within a single management system.

WebLogic Server 7.0 offers a dynamic, role-based authorization scheme that can be applied to all J2EE and non-J2EE resources. You're no longer constrained by the limitations of J2EE's declarative security model. The authorization module includes an embedded entitlement engine that allows you to easily create prose-based rules for dynamically assigning roles and calculating access privileges. The application developer is freed from having to write code to implement complex security policies, leaving the task of securing applications to administrators and security experts. Entitlement rules can be based on an extensible list of operations and parameters such as time, identity, user profiles, and invocation parameter values.

All user profile and entitlement data can be stored in WebLogic Server's internal system data store, a scalable data store optimized for quick reads. In addition to the system data store, users can easily configure one or more LDAP stores to provide a single unified user profiling system from multiple back-end stores. WebLogic Server 7.0 also supports JAAS (Java Authentication and Authorization Service) and bundles an SSL implementation from Certicom for full JSSE (Java Secure Sockets Extension) support.

Scalable and Highly Available JMS
WebLogic Server 7.0 introduces the concept of distributed destinations. Administrators can set up a single virtual destination that is mapped to multiple destination instances deployed on multiple servers within a WebLogic cluster. When a message producer sends a message to the virtual destination, WebLogic Server will determine the actual destination based on configurable load-balancing algorithms. Message consumers are "pinned" to a given destination at creation time. If a server fails, incoming messages will continue to be sent to other destinations hosted on healthy servers.

Migratable Services
Some services, by definition, must exist as a singleton within a WebLogic Cluster. Things like transaction logs and JMS destination instances must maintain data integrity and therefore exist in only one place within a cluster. This helps to avoid the need to synchronize data across servers, which can result resulting in excessive server-to-server cross-talk that could adversely affect scalability. In the event of a server failure, singletons can be migrated from a sick server to a healthy server, ensuring the availability of the service.

Administration Enhancements
Cluster management has been greatly simplified. Configuration wizards are available to easily create new domains, clusters, and configurations. WebLogic Server 7.0 also introduces new server health monitoring metrics. These metrics and events can be used by the WebLogic Server Node Manager and/or HA (High Availability) frameworks to determine when a given server instance should be considered "dead." Some of the metrics that can be reported are heartbeat status, execute queue growth rate, thread availability, and denial-of-service monitoring. Using standard JMX interfaces, administrators can set up a notification system to inform them of specific events, such as when a server needs to be restarted or when a particular service should be migrated to a healthy server.

The WebLogic Server Administration Console interface has been enhanced for ease of use - and to support massive deployments. In addition, many new configuration properties can be set dynamically without restarting the server. Extensibility of the Administration Console allows for products offered by BEA partners to fully integrate their management tools into the WebLogic Server Administration Console. Providing a common framework and interface for all administration tasks throughout your system can significantly reduce system management complexity.

Additional administrative control over server startup and shutdown is now available. The concept of a "server life cycle" that clearly defines the various stages a server goes through as it boots up and shuts down has been introduced. Each of the server subsystems has been designed to behave appropriately within the various stages. Using the Administration Console or command-line tools, a server can be brought up in a suspended state. In this state, the server is fully administrable but doesn't claim any resources that may be shared with other servers and doesn't process requests from clients. It can, therefore, act as a hot standby and be brought online very quickly.

Life cycle support also allows a server to be gracefully suspended without dropping in-flight work. The server will reject new requests while completing existing ones. Also, managed servers have greater independence from the Administration Server in WebLogic Server 7.0. They can be started and shut down using simple command-line utilities, and cache a copy of the most recent configuration, which can then be used if the Administration Server is unavailable.

Support for multiple Network Interface Cards (NICs) allows for an administration port to be defined on each server. This isolates administration traffic from other network traffic, thereby improving scalability.

Caching Enhancements
Caching is a powerful tool for improving the performance and scalability of applications. Since WebLogic 6.0, WebLogic JSP Cache Tags have provided the ability to cache specific portions of JSP pages in memory and avoid unnecessary computation or trips to the back end. For very dynamic or personalized applications, this provides a flexible way to isolate data and calculations that can be safely cached.

WebLogic Server 7.0 provides additional functionality to easily configure caching for entire pages, URLs, and file types. Without requiring any code changes to the application, administrators can turn on caching and see immediate performance and scalability improvements. Together with the WebLogic JSP Cache Tags, WebLogic Web Cache provides caching capabilities that are both easy to implement and extremely flexible.

Entity EJB caching has been a part of WebLogic Server since version 5.1. The familiar read-only and read-mostly caching strategies provide significant performance improvement when EJB data doesn't change often and the consequences of stale data are insignificant. The enhancements allow for concurrent access of read-only entity beans, thereby improving scalability.

Optimistic concurrency and automatic cache invalidation allow for a read-write caching strategy. With optimistic concurrency, EJBs can be cached between transactions. If the EJB is already cached in memory, the container won't read from the database at the start of a new transaction. Prior to committing the transaction, the container will verify the freshness of the data and roll back the transaction if data was changed in the database while the transaction was in progress. This prevents the container from updating stale data.

To help prevent optimistic rollbacks, the EJB container identifies when an EJB has been updated and automatically invalidates any instance of a cached EJB within the cluster using multicast messages. These enhancements significantly increase the applicability of EJB caching technology.

Developer Productivity Enhancements
"Cajun," the codename for a new development tool introduced in Carl Sjogreen's article (see page 10) in this issue, provides a new framework for the development of enterprise-class Web services applications on WebLogic Server. "Cajun" is an IDE targeted at the "corporate developer" who prefers a GUI-based approach to application development. "Cajun" developers work within a higher level of programming abstraction, which shields them from the complexities of J2EE and object-oriented programming. This exposes the power of J2EE and WebLogic Server to a new class of developer.

For J2EE developers, the WebLogic Server Application Builder is a graphical utility that helps developers prepare Java files for deployment to the application server. The Application Builder introspects on Java implementation classes and through a guessing framework, derives default deployment descriptors. Developers can quickly validate and add to the deployment descriptors through a series of property sheets, preventing the need to edit the underlying XML files by hand. All of this gets wrapped into a deployable package and sent into the runtime environment for quick and easy deployment.

Many files make up an EJB: the implementation class, the home and/or remote interfaces, the deployment descriptors, and so on. WebLogic EJBGen (see the related article in WLDJ, Vol. 1, issue 2) is a utility that reduces the number of files to one, which greatly simplifies development and maintenance and allows the developer to focus on the business logic.

The evolution of software technology has left many enterprises with a vast collection of discrete, disconnected systems. The complexities of application integration require a wide variety of solutions. From Web services to J2EE CA to RMI/IIOP, WebLogic Server 7.0 has the tools to help developers seamlessly integrate disparate systems and leverage their existing IT investments.

For mission-critical applications, you need a framework that will provide enterprise-class services in an easy-to-use package. J2EE 1.3 compliance ensures that you have a rich set of APIs to develop your applications. With the pluggable, flexible framework of WebLogic Server 7.0, you can easily build and manage applications that are reliable, scalable, and secure.

More Stories By James Rivera

Jim Rivera is a product manager for WebLogic Server focusing on Web services, XML, EJB, and caching. He is lead product manager for the WebLogic Server 7.0 release.

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

IoT & Smart Cities Stories
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...