IONA iPortal Application Server Architecture

  (By huihoo.com fat1, Allen finishing) 

  Conclusion: the Java technology-based J2EE architecture to provide enterprises with a rapid tectonic large, scalable, distributed e-commerce framework.    One application server as the basis for the support of the framework will be an application from the Web server and database separated from the users to deal with a large number of services and provides a framework of a more perfect solution.    Currently very active application server market, there has been a lot of good products. 

  IPortal Application Server is a world renowned manufacturers IONA Company introduced J2EE application server, the application server to IONA's ART and the POA technology, provides a flexible containers can be very good.    The containers with the deployment of the interface, allowing for the deployment of thermal and thermal re-allocated, achieving 24 x7 can really work.    IPortal Application Server's unique architecture makes EJB containers and Web containers can be fully distributed to multiple machines, eliminating the bottleneck of the application.    Because it strictly abide by the norms and standards to protect the user's investment.    It is with the Unix and mainframe systems and the full interactive capability.    In this paper, from a technical point of view of iPortal Application Server architecture made general introduction. 

  1 What is POA? 

  IPortal Application Server based on orbix orbix 2000 and 2000 for Java, these two products are the ORBs CORBA2.3 (Object Request Broker), and application servers in CORBA2.3 there is a relationship between the POA (Portable Object Adapter) is Portable Object Adapter.    In the CORBA specification, the Object Adapter is the server-side components, it is responsible for creating Object Reference (reference) (object reference is to announce to the client) is also responsible for the CORBA calls will be directly conveyed to the appropriate server side of the object or service providers (iPortal Application Server, all of the service providers are Java objects). 

  CORBA2.3 norms in the POA raised to replace the basic object adapter BOA (Basic Object Adapter), it is because BOA difficult in the CORBA server in transplantation between ORBs.    Although CORBA server-side application server and transplant or not.    POA application server in the application of the most important benefits is that it provides a lot of flexibility: You can be abstract CORBA object mapping into JAVA objects, and to control the use of resources and the life cycle of Java objects. 

  Every CORBA server can have multiple POAs, every POA can provide support for different functions or different characteristics.    Each POA and provide an independent living space object, a set of corresponding POA storage strategy to determine how the object is activated, as well as how to set up a target for reference.    POA strategy is quite complex.    However, IONA use a service called positioning (ServantLocator) strategy, which is the most flexible POA's strategy. 

  2 What is ART? 

  ART (Adaptive Runtime Technology) is a distributed object architecture IONA, which is the basis of iPortal Application Server.    ART is designed to enable customers to customize products according to demand.    Orbix in the previous version will have all the functions on a single large library.    Therefore, by modifying it is impossible to configure different needs, so can be modified only by IONA Orbix, but even ION is also difficult to modify, because of all the things are entangled together. 

  ART function of the vast majority of plug-ins are designed in the form of: for example POAs, transmission protocols, encryption and authentication mechanisms, journaling and database storage.    ART architecture and its plug-in Figure 1. 
  In the running, according to ART server configuration file into some plug-ins.    This is a bit like EJB statement programming (Declarative Programing).    Some plug-ins can be loaded at start-up, while others in the operation in accordance with the requirements of application loading.    This makes IONA has great flexibility, because they can According to the application server needs to choose a specific function modules, in accordance with need to configure a suitable container size, thus the containers both small and efficient. 

  Plug-in is a code base can be connected to, or when loading operation, as if Widows in the DLL.    Plug-ins can contain any type of code, but it through the objects included in the operation of the ORB register to add capabilities.    Plug-ins can be directly connected with the application, at the time of loading, can be in operation in accordance with the requirements of application server load.    ART plug-in interface in the CORBA Interface Definition Language (IDL) in the definition of the entire plug-in architecture is independent of the programming language.    Examples of custom plug-ins include: ATM, in agreement with GIOP replace the default IIOP agreement with the establishment of the internal security system on the security mechanism to replace the default security mechanism. 

  Figure 1, within the framework of ART 

  ART because of the configuration of the application, rather than build it together and therefore there might not rewrite or recompile the adoption application procedures and application server to change the appearance and function. 

  ART should be loaded at startup depends on the plug-in configuration files.    These configuration files and can be changed at run-time by ART feel.    The new plug-in through the appropriate configuration change was loaded.    Such a mechanism is not allowed to change and recompile the code and update application servers. 

  Many Distributed Object System resources a key bottleneck is the TCP / IP socket connection.    ART provides a dynamic link management, the use of "at least recently used" algorithm recovery spare socket connection, the process of distribution to other use.    If the recovery and require the use of the connection, it can be automatic, transparent re-established.    ART also used a complex memory management technology, including the "lightweight (Flyweight)" mode to avoid duplication of public Object Reference components.    Every single address information stored in memory only once, and used by all of the shared object reference. 

  3. Use of ART and the POA Construction iPortal Application Server 

  5.1 EJB containers 

  IPortal Application Server EJB everyone in the CORBA server is a server process, a host can have multiple CORBA servers.    All the EJB servers exist in a domain by a locator guard thread management.    There is only one system in each location for guarding threads, it can make sense to the domain where all containers, even if these containers in different hosts.    Guard threads can be duplicated in order to prevent a single point of failure. 

  IPortal Application Server containers through the POAs level framework to establish.    CORBA server can contain a number of POA root, root for each sub POAs POA can have, as shown in Figure 2. 

  IPortal Application Server in the POA that containers, a EJB server can have multiple containers.    The containers of the POA that EJB bean types.    As shown in figure 3.    Because CORBA server can have multiple root POAs, each corresponding EJB server can have multiple EJB containers.    Below is the question of how the POA adopt a different strategy to be decided at the request of customers mapped to the corresponding service providers.    In addition, a specific POA can have sub POAs.    All of these characteristics are used in iPortal Application Server containers design.    Each container of an EJB type POAs said.    In fact, there are two different POAs said Home and Remote Object object.    For example, in one container, we can have 20 trucks beans, beans 30 orders.    In such circumstances, containers need only four POAs, each bean has two (that Home and Remote Object object). 

  Figure 2 CORBA2.3 POAs and the root of POAs 

  Figure 3 EJB server containers and bean type 

  In iPortal Application Server, containers and application procedures is between one-to-one relationship, but at the time of installation in the need to establish a new addition to the containers loaded applications. 

  3.1.1 locator service 

  EJB, the client can directly access beans.    But through the objects and home communications and remote object to visit, the two objects created by the containers, on behalf of the bean in the system.    Figure 4 that such a mechanism, in accordance with EJB1.1 norms, the client usually get a bean reference. 

  Figure 4 EJB in the Home, Remote interface and the relationship between the bean 

  As mentioned above, iPortal Application Server "POA service locator" strategy.    POA for client services at the request of a choice.    In memory so that we do not see EJBObjects on target.    POA their position was replaced. 

  Most of the application server in a table to store the object instance-and the mapping.    In this way, when a request arrived, under-value containers to find the table to get bean examples.    When the number of beans often.    To the operation of such costly price.    IPortal Application Server will be targeted by the ID code into object replaces the handle this way.    In this way, when a request arrived, the POA use object ID to identify the object, request transfer to the Bean examples. 

  IPortal Application Server 3.1.2 eliminated CORBA of the skeleton and compiler code generation containers 

  Using iPortal Application Server users will note that the development of their unnecessary containers generated code, it does not require compiler included in the jar and its package (the jar kits to be deployed in the container), the jar in the document only needs to include examples of bean Java class, home interface, remote interface, ejb-jar.xml deployment descriptors.    This is because iPortal Application Server eliminates the skeleton containers and generate code (which are usually included in the jar packets).    Skeleton code responsible for the transmission protocol (such as IIOP), the realization of containers to provide services, such as services, durable and safe.    CORBA is to replace the skeleton Java mapping, which is responsible for identification from the IIOP flow parameters without the use of a specific object skeleton.    Replace containers ART code is the "interception chain", which is responsible for achieving affairs, security, the environment settings and containers.    All of which have been extracted and placed in a separate plug-in.    ART chain interception in the loading operation to deal with the right services, security and Method Invocation environment.    For example, the Panel interception for the deployment of inspection goals bean Affairs document attributes.    If needed, a panel joined the context of information, or start a new business. 

  One of the merits of such a framework is: because of a listener in the form of plug-ins, you can customize and use it to replace a IONA provided by the default plugin.    Moreover, in all these applications can also run out. 

  3.1.3 distribution and positioning objects 

  Application servers have different target distribution mechanism which RMI / JRMP and RMI / IIOP is the most commonly used two of every kind of mechanism to provide a client access server object in the way. 
  Some mechanisms, such as the RMI / JRMP will target server IP address and port with code in reference to the object.    If the objects remain in the same position it's not a problem, but if we want to upgrade to a more high-performance server how not to do?    Because the server's IP address has changed, the object of all client information Failure client must be updated through JNDI object reference.    This obviously is not an ideal way. 

  Another common way is to "focus on device" to manage the server visit.    Figure 5 examples of the use of a centralized application server architecture with in this framework, each call is through focused, an indirect way to reduce the response time. 

  Figure 5, on the framework for 

  IONA's the ART to overcome the framework of the above-mentioned two defects: Only the first call through the locator.    After the client and link has been established between the containers, after the client calls can be connected and containers through this direct link.    Figure 6 below. 

  Figure 6, ART locator 

  Secondly, the locator is designed to support complex "location transparency", location transparency means that the client does not need to know the location of the server.    IONA positioning allows the client server independent of the location of the mobile.    This is by avoiding to the target server IP address and port code with reference to the object in it.    IONA will be replaced by the IP address locator where the containers and objects included in the name of object reference, the location will be able to identify by name to the address of containers.    If the containers in the server side for a mobile positioning devices will get this information.    The corresponding processes are as follows: 

  The first client call request through the positioning, from the object locator reference in the name of containers from goal and then identify target containers addresses, and the establishment of a container from the customer premises to connect directly.    After the client and containers through the communication link.    If a server in the location of the mobile, location gets the message.    If the client requests the next call still will be connected through the original failure, the client was once again sent the request, the request will be adopted this position, because locator already know and updated name and new packaging containers location of the mapping, therefore will be re-established a container from the customer premises to connect directly.    In this way, the server and the clients do not require the naming of other services or JNDI.    The process shown in Figure 7. 

  Figure 7 positioning enable transparent application transplant 

  5.1 Web container and the "super servlets" 

  Web containers and J2EE EJB containers are a key component of the framework, web containers, including JSP engine, Servlet engine and a web server.    The traditional approach is packaging together several parts of this in a JVM (Java Virtual Machine) Lane.    Servlet and JSPs and web servers in the space of a process and, therefore, can not be distributed to multiple machines boost.    Created web application bottlenecks. 

  A more flexible framework for the web container is JSP Servlet engine and the engine on the mainframe removed from the web, according to the needs of the distribution elsewhere.    By this method, a request if the request is specific JSP procedures, which will be transmitted to the remote web server engine to deal with the JSP (JSP may also call the EJB), the implementation of the JSP, the web server can also proceed to the next a client request (the request may be conveyed to another engine to deal with JSP), and so on.    From the point of view, web servers and JSP engines in parallel execution, and make full use of multiple machines capacity.    If the JSP web server and a process engine in the same space, this could not have happened, even if the firms do not use multi-threading. 

  Figure 8 Web containers in the framework of Super servlets 

  4. Dynamic framework containers 

  4.1 as Bean-Managed entity Beans containers 

  IPortal Application Server containers framework based on the level of POA, root POA said containers of POA for different bean types and their Home and Remote Interface interface.    Each container includes a Bean Bean-Managed entity, the entity Bean interface statement in the public domain, and the corresponding methods interface allows users to perform the following functions: 

  L do not stop server can be installed applications. 

  L do not stop server can be configured applications. 

  L do not stop servers and applications can be configured on the application procedures. 

  L application, once implemented, customers can call to receive the request. 

  L do not stop can be removed server applications. 

  L can stop the application process in order to retain its configuration once again the implementation. 

  4.1.1 Dynamic Configuration 

  The interface in the public domain and therefore can be any available client calls, such as Java applications.    There are three kinds of typical deployment 

  L command line 

  L graphical interface, including the wizard 

  L write their own deployment of a Java programs. 

  5. Application server architecture and topology architecture 

  A 5.1 framework (see Figure 9) 

  Figure 9 A-frame all EJBs space in a single process operation 

  This is the web server and application server traditional architecture, all components of the application beans in a Java virtual machine in operation, this type of containers easily build, because applications will not be required to provide bean consider the distribution, there is no need to establish a reliable communications protocols to support distribution. 

  May also be some applications in the other Java Virtual Machine, but in matters dealing with a process space.    EJB specifications beans because of the communication between the business, the framework does not allow applications on different Java Virtual Machine on the mainframe and distribution. 

  The establishment of a distributed service agreements is not a very easy thing, which is why some application server provider preventable causes.    If all things are placed in a single Java Virtual Machine, to run not only limits the flexibility, but also limit its support to the client number.    This is because each link in Java required to launch a new thread, the price is expensive. 

  This framework will create web containers defects, as JSP and Servlet engine with the web server in the process of running space, they can not use multiple machines parallel implementation capacity, as mentioned earlier, web application caused a bottleneck . 

  B 5.2 framework (see Figure 10) 

  A framework framework B is the change or extension to the framework through Cluster B (also known as cluster) A change in the framework of the scalability limitations.    Clustering technology improves the system work load bearing capacity, it is through the beans will be copied to a host of different process space (these bean and the original is the same) in order to share the load.    There are many algorithms used to determine what the customer requests beans services, which improve the way the system can bear the load. 

  The problem is that some of the Application Server you decide not to copy what beans choice, and in fact the entire application process and composition of the beans are being copied.    The only framework for the improvement of A framework is actually trying to fill the loopholes A framework, rather than the most suitable for the scalability of the design. 

  Figure B-10 single framework and process spatial clustering technology applications 

  Cluster biggest problem it is difficult to buffer data.    The web server, because the vast majority of data is read-only, clustered technology can be easily buffer large amounts of data.    The Application Server is a business system, updated frequently requested data.    When the application through technology clusters scattered in different hosts, it might be possible on the background of the same data competition visit.    These data buffer system could not because another cluster server may be in the affairs of another visit to the data.    If not all the same cluster technology based on the Distributed buffer strategy, EJB will not be able to use the advantages of the data buffer. 

  In addition, this framework and the framework we will encounter the same problem A: As with the JSP and Servlet engine in the web server process space operations, resulting in a web application bottlenecks. 

  Frame 5.3 C (see figure 11) 

  Figure C-11 in the framework of various processes in space and the focus of Beans 

  This framework from TPM (Transaction Processing Monitor) evolved out of the use of the concentrator.    Concentrator to be used for client requests to call spread background server. 
  C framework has three main drawbacks: 

  (1) TPM has been in existence for a long period of time, this is it reliable and robust one of the reasons.    But this has made it can not use some of the latest technologies such as multi-threading.    All TPM is a typical single-threaded, multi-threaded containers can not support, and even can not support a process in a number of bean.    Storage in a number of bean must be independent in the Java Virtual Machine.    Obviously, this method can not be extended to a large number of bean applications, and bean internal communications must be placed on internal processing, the process to be much slower communications. 

  (2) The second disadvantage is that since all customer requests is through focused, adds an additional price. 

  (3) The architecture of the web server and framework for A and B framework of the same problem. 

  (1) Frame D (see figure 12) 

  Figure D-12 architecture EJB container and the distribution of individual containers process of Web space 

  This framework is the most commonly used a framework.    So far we have seen in the framework of either the server or web server in the ejb are still all kinds of loopholes.    C framework in overcoming the deficiencies EJB containers a step.    Now there is no single process constraints.    EJB servers can be distributed to multiple hosts.    They either of communication between the RMI / JRMP either RMI / IIOP.    EJB servers can be clustered can be no clusters.    However, the framework still has the same design of web containers: As with the JSP and Servlet engine in the web server process space operations, resulting in a web application bottlenecks. 

  E 7.1 framework (see Figure 8) 

  The iPortal Application Server architecture is a framework than any of the above-mentioned framework must be advanced.    The A framework to overcome the framework and framework of the problems faced by B: they do not have the ability to distribution networks, bean limited space in a single process.    On the contrary, iPortal Application Server allows applications to distribution in a number of mainframe, and even can be wide area network (WAN) separately.    Such applications can make full use of inter-network distribution of the advantages of multiple machines. 

  This framework also overcome because jsp servlet and the same web server running on the web application of the bottleneck problem.    IPortal Application Server supports multiple JSP and Servlet engine inter-network distribution capacity.    Can also JSP and Servlet engine respectively in the web server configuration (if their background and the communication is not a lot of words) or EJB server. 

  6. Use EJB and CORBA IIOP to provide interoperability capability 

  EJB and J2EE in the history of the development of computer is very new technology.    So far, many large companies are still many different platforms use different programming languages to operate their business affairs.    In particular, many companies use OS/390, AS/400 and mainframe systems some other data storage and management services.    As a result of these mainframe systems have been well run for many years, all companies are unwilling to give up.    So the problems they face is how to integrate into the existing system the Internet and e-commerce. 

  Many application providers do not consider this point, they also did not provide products to the existing systems into new products in the mechanism.    IONA has different needs products, iPortal Application Server allows full use of the existing system. 

  Over the past few years, IONA ORB technology into the mainframe platform.    IONA At present, there are several versions of the products can be used in OS/390, which provides for IMS, CICS, and TFP adapter.    Support the use of COBOL, C + + and PL / 1 programming.    These adapters make CORBA client without any changes can be direct access to mainframe systems.    For many companies this is very useful because some of them may mainframe systems are not the source code! 

  OrbixWeb is available on the AS/400 ORB.    This makes CORBA customers can visit many running on the AS/400 System Services.    IONA is the only company to provide CORBA client and OS/390 and AS/400 connectivity products manufacturers. 

  This connectivity is not CORBA client unique.    IPortal Application Server also provides for other client access technologies.    IPortal Application Server built on IONA's latest technology based on ART.    IIOP use as a transport protocol.    In addition IONA many products in the affairs of common use technology, the technology is based on OrbixOTS.    This combination means: 
  Enterprise beans can be used IIOP and CORBA applications (such as: UNIX, C + + or OS/390 on the IMS and CICS) business communications.    From the point of view of developers, EJB, CORBA servers as enterprise-class beans role. 

  CORBA IIOP can EJB applications and communications services in the context of transfer between the two. 

  (1) from EJB to CORBA 

  From EJB to CORBA interoperability is enterprise beans and CORBA server communications.    Typically, the existing CORBA is the old system but may also be new for example, the use of C + + to write applications.    If the application is responsible for some bean and CORBA communication, then these EJB bean will be played as the role of CORBA applications. 

  However, through a simple CORBA IIOP and the communication is not worth mentioning, and in many application server support.    As long as the CORBA pile included in the bean, will call request to the CORBA piles, the network will be called at the request CORBA applications, the corresponding bean also received the return value.    This interoperability to users who do not have much value. 

  Real and CORBA systems integration means that the beans with existing between the old system and provide a reliable and robust communications.    This requires that the Panel will be able to spread from EJB to CORBA, but also to preserve security context, the IIOP all IONA CORBA products and its application server the transmission agreements.    Both are used as a services provider OrbixOTS, it is OribxOTM (IONA's Orbix Object Transaction Monitor) part.    It allows affairs in the context of transmission between EJB and CORBA.    This means that those services can be a two-way between EJB and CORBA transfer.    IONA against EJB and CORBA security technology based on SSL, which means that the transmission through IIOP calling the request is encrypted. 

  In addition, EJB to CORBA communication it is independent of the use of CORBA version of the.    IPortal Application Server version is the use of CORBA2.3, IIOP2.0.    If the background CORBA applications using the CORBA2.0 future version of its support IIOP1.0 at least, to accept the call on IIOP1.2 request.    This is because IIOP1.2 with IIOP1.1 or IIOP1.0 communications. 

  (2) from CORBA to EJB 

  From CORBA to EJB interoperability refers to the CORBA client, such as C + + or Visual Basic to write the enterprise bean activation method.    Developers may not use Java to write CORBA client, because it is very easy to use IONA RM through piles of RMI / IIOP to bean and direct communication. 

  EJB and CORBA interoperability to the different EJB to CORBA interoperability standards in the different versions between the obvious difference.    CORBA client can only be activated IDL (Interface Definition Language) interface, therefore, we need to use Java to write the bean interfaces to the Java IDL mapping for conversion into IDL, Java IDL mapping of the CORBA, is a feature called "decision by the value targets" in the characteristics CORBA2.3 Riga, all CORBA2.3 customers can easily use it to activate the bean.    Bean received the news and IIOP RMI / IIOP as news. 
  But in CORBA2.3 previous version of the customer, not the same way, because they do not support "by the decision value target" characteristics, in such circumstances, the need to build a bridge.    There are two types of bridges: 

  (1) receive a CORBA server IIOP CORBA2.3 previous version of the call, and using RMI / IIOP EJB applications and communications. 

  (2) receive a CORBA server IIOP CORBA2.3 previous version of the call, and the use of CORBA2.3 IIOP EJB applications and communications. 

  The first bridge is a more direct and more common approach. 

  7. Load Balancing 

  With the sustained growth in internet, and commercial sites will be hundreds of thousands of concurrent users, application server must be able to handle high loads.    To achieve this, the application server must first have a highly scalable architecture.    IPortal Application Server is built on the level of distributed on the basis of the framework.    Secondly, the application server also need to support some type of load balancing in order to load distribution to multiple hosts.    Load balancing and fault tolerance are closely linked. 

  IONA two load balanced manner.    IPortal currently used in the application server load balanced approach and application in other IONA products the same, namely, the use JNDI naming services.    IONA also developed a more complex ART positioning based on the load-balanced manner. 

  7.1 the use of object naming service organizations load balanced manner. 

  7.1.1. CORBA Naming Service 

  IONA interoperability with the naming service be used in the ways iPortal Application server, CORBA IOPs be used to find EJB.    In a JNDI name and the corresponding object, only a name and a corresponding object.    , Introduced a name can be an object reference.    Naming Service workflow shown in Figure 13. 

  Figure 13, for example the use of JNDI 

  Load Balancing requires a selection mechanism used to decide which client or a server object.    Consider the mechanism of choice is to consider the main point is to choose placement mechanism.    Typically, it can be placed on the client, or some central server, usually in the directory service. 

  Some applications use a client server selection mechanism.    This will bring many problems.    If an enterprise has a large number of clients, then change the selection criteria or a new server by adding each client need to re-install.    Scalability is not this way because it involves changes to the client.    The more clients, more serious problems. 

  If the selection algorithm in a central location, we will overcome these problems.    Selection criteria of change or the addition of new servers to the client is transparent.    J2EE EJB or in JNDI is placed in a transparent mechanism for the choice of an ideal location, because the client must pass JNDI to get bean reference. 

  In 1998, IONA joined the Organization for CORBA object load on the system to achieve a balanced and the naming service, which is concentrated in order to satisfy user requirements to achieve load balancing rather than placing it in the client's request.    This approach overcomes the mechanism will be selected by the client on the issue, because the algorithm change will not affect the client. 

  JNDI object organizations expanded, allowing a corresponding name a group of objects rather than an object.    Target group size can be changed.    For example, a 1 (object, object 1 b, c) an object, composed of a target group, the target group in each of the target object is a copy.    Each target group has a corresponding algorithm to determine the choice of targets.    CORBA support for the current two algorithms: random and rotation.    Figure 14 examples of the target organizations load balancing algorithm.    If three customer requests to be "name2" the object of reference, they will be followed by the respective "name2" by the target group at three targets in the reference. 

  Since JNDI now allowed in the target group within the Object Reference balance between load, then how it was applied to the iPortal Application servers? 

  The target group of customers is completely transparent, so the client does not need changes. 

  In EJB server, IONA According to a name registered under a number of beans to be revised accordingly, users can be configured to decide or take turns with random selection mechanism. 

  N the assumption that a copy EJB applications and M-client, the use of rotating selection mechanism, the first clients are the first application of reference, and the second, the second application by reference, and so on, customers are n n the first application for reference.    And (n +1), to be a customer and the same object reference, and so on, the final result is an almost all applications for the M / N customer service. 

  Figure 14 using IONA's naming service load balanced approach 

  7.1.2. Use ART locator load balanced manner. 

  In the previous chapter, we discussed the positioning of ART and its EJB COBAR and distribution systems used to target and positioning the advantages brought about by the positioning system will be able to know the location of containers and activity.    Typically contain a specific domain of all the mainframe system.    This makes is a suitable location for the placement of load balancing mechanisms for selecting areas.    The mechanism to cross-container load balancing.    IONA iPortal Application Server in the use of location-based load-balanced manner, based on the positioning of the load balancing, selection mechanism exists in ART plug-in, was installed in the startup locator.    When a customer first calls to the EJB issued request, the request was first approved locator.    As we see it, is used in iPortal Application Server IORs not included in the target host's IP address.    On the contrary, it contains the name and the goal of positioning containers for the IP address.    In the normal operating mode (no load balancing), the positioning of the client and target server to establish a direct link, and then transfer the call to the method of containers.    If the plug-in load balancing is loaded, then when the client calls the request arrived, the locator in accordance with plug-in algorithm from the available list, select a container to provide services.    IPortal Application Server can be used randomly or rotate plugin. 

  The load balancing mechanism in the form of plug-ins, it can be the same as ART custom plug-ins.    In this way, you can choose from the two options it provides one of the mechanisms.    You may wish to rewrite the algorithm as a loading server selection criteria.    In addition, the plug-in operation can be turned off without having to stop locator. 

  8. Fault-Tolerant 

  Application server should not only be designed to handle high loads, as well as a high degree of availability to support fault tolerance.    On the Internet, downtime is intolerable. 
  IONA used two methods to deal with the fault-tolerant.    Usually in the first fault-tolerant and load balancing is linked, in the current IONA iPortal Application Server provides a JNDI-based load balancing mechanisms.    IONA has also developed a more complex ART server-based fault-tolerant manner.    Let us look at the difference. 

  8.1 Based on the use of the name of the fault-tolerant load balancing support 

  In the seventh part in the discussion of the load balancing can also provide a certain degree of fault tolerance.    Let us first look at the EJB 1.1 specification on the client in the session bean in the incident of the failure of the approach taken: 
  "Failure or designated in the server configuration overtime, the containers may terminate a session bean life cycle. For this reason, the client lost its connection in the session object should be prepared to create a new." 

  (EJB 1.1 Chapter 6.1, 50) 
  If we can see that the session bean failure, the client must be prepared to create a new session object.    Therefore, the client program should be in a compatible manner to support such a situation (through a re-test cycle).    Work is as follows. 

  Client must re-use JNDI to get a new Home object (the object to the establishment of Remote object) for reference.    This is the target group was introduced to the reasons for the use of the client and the original request of the same name to a Home reference, it does not receive the same information and the original (the original has been destroyed), and from the target group to get a new inside (it depends on the use of a selection mechanism and the object in the target group, the number of clients may also have just been destroyed in the reference object, and if this were trying to undermine the object of Home interface connector, it is obvious to failure, but so that the client can be another reference. if we adopt the choice of rotary mechanism can be the guarantee of a new Home).    Then the client can use a new Home Remote object to the establishment of a session and thus reconstruction. 

  Now, the client does not need a new session bean and re-start a conversation, iPortal Application Server can disconnect it from the client's place to continue this conversation.    This mechanism is the case.    IPortal Application Server stage in the preservation of the state of the database (You can also configure the application server will save it to disk).    You can containers defined in the configuration file preservation interval.    When such a session bean destruction, it was the state of preservation of it is still available.    When the new session bean is created it from the database kept by the state recover from the interruption to continue to implement. 

  Let us now look at the norms on the failure of the entity bean Description: 
  All entities are considered to be targets of persistent objects.    The life cycle of targeted entities from which it is not in the JAVA virtual machine to determine the life cycle.    Although JAVA virtual machine can lead to the destruction of current affairs rollback but it can not damage entities created by the previous target, we can not make the client interface for Remote and Home reference failure.    (EJB1.1 norms, section 8.4, page 92) 

  The entity bean There is a significant difference, according to the specification, the reference entity bean is the sustainability of (long-standing) can not be changed.    This means that we can not use the session bean and the same way (in the session bean, we maintain a reference value).    In addition, the maintenance of more than one entity bean will lead to conflict, because each time in the updating of the database have been added to lock. 
  However norms also indicates that all entities are bean business, and this is the ability to restore entity bean origin.    Any failure or server in the server particular method invocation will cause Affairs rollback.    Because the OTS IONA (Orbix Object Transaction Service) is a CORBA-OTS for the complete and genuine realization iPortal Application Server support requested by the entity bean completely affairs, and therefore entity bean is recovering from the failure of the capacity. 

  8.2 supports the use of fault-tolerant positioning ART 

  In 7.2, we can see that the plug-in architecture ART locator is how to provide a plug-in load balancing.    We also see the location of the plug-in load balancing is an ideal placement because locator understand all the containers.    For fault-tolerance is the same. 
  As load balancing, fault-tolerant algorithms to be included in ART plug-ins, in the start-up position when loading, but also a container pool to choose from.    The failure of any containers will be notified to the location (location for their support replication, it will not happen a single point of failure), then the failure of any containers will be notified to the position, then locator containers from the pond will choose another 1.    And the client and the new containers between the establishment of a new link.    New applications from the state database accessible to (state entities session bean and bean).    The session bean, when the failure occurred, the client demands for a session to session and target tasks.    The entity bean, all the calls are business, it was go back to current affairs.    The client must connect to re-establish after the beginning of a new business. 
  The fault-tolerant mechanisms to exist in the form of plug-ins, it can be the same as ART custom plug-ins.    In this way, you can choose from one.    In addition, the plug-in operation can be turned off without having to stop locator. 

  9. IPortal Application Server Other features 

  Other features include: 

  L containers of distributed transaction support. 

  L IONA session bean and bean entities can be achieved. 

  L logs, statements and audits. 

  Distributed 9.1 Affairs and JDBC2.0XA 

  EJB1.1 norms require the use of JDBC (Java Database Connectivity) 2.0 technology as a database-driven procedures.    IONA to Metrant company JDBC2.0-driven integrated into iPortal Application Server, you also can freely in the use of other drivers.    Metrant drivers support both also support non-XA XA interface. 
  And JDBC1.0 compared JDBC2.0 there are two main advantages in the application server makes it more effective. 

  (1) JDBC2.0 support XA interface.    XA interface is an X / Open Standardization Organization of the lasting memory of the public interface, which is currently the main database support, in particular relational database.    These public access database API, making across multiple databases distributed to the two-stage possible.    JDBC1.0 This is not support.    EJB, in the two-phase commit for the OTS also need a (Object Transaction Service) appropriate to achieve.    Management is very difficult to prepare, but also need to spend a few years to amend.    IPortal Application Server combines IONA the OrbixOTS, this product has been on the market for four years now.    It is based on Transarc's Enica TP Monitor, the product has been put on the market a decade. 

  (2) SA and re-hung allow Affairs, as well as cross-linking affairs.    Cross-linking of affairs means that the number of services will not be subject to restrictions on the number of connections, according to JDBC1.0, a bean and a connecting link, a panel exists in the life cycle, and therefore at the same time the beginning of the affairs of the database will be connected the number of restrictions.    Use XA, a bean method only need to call the stage and a connecting link.    This means that JDBC2.0 system can support more than JDBC1.0 concurrent connections on the database. 

  Conversation 9.2 entity bean and bean 

  EJB specifications EJBs at different times have been frozen (Passivated).    As for how to freeze the decision by the server provider.    IONA does not provide a special type of freeze, but to provide a plug-in the form of freezing.    In fact this was realized with a freeze plug-in for ART (see 5.2).    Prepare yourself for the freeze only briefly involved to achieve plug-in API. 
  Default freeze-preservation to the database.    IONA provides for the freezing of an optional directory it is to preserve beans, each bean a corresponding document.    And because of the freeze is the form of plug-ins, you can modify it so you want to freeze the sustainability of medium forward. 

  There are two sessions and overtime value of the bean, the first one is to freeze overtime time, the value of a specified interval session bean frozen value.    The second session of overtime overtime value is the value of its workflow is as follows.    If a client in overtime value within a specified period of time did not visit its session bean, the session bean will be deleted.    It will be removed from the memory will be preserved from the medium was removed, this decision at this juncture it where it is. 

  In addition to the freeze of plug-ins, iPortal Application Server is also available in a plug-lasting management of containers category (CMP).    Sometimes you may want to freeze entity bean elsewhere instead of the database may be a ERP package, such as SAP or PeopleSoft.    While in other application server, the only choice is to write a lasting bean management (BMP) entity bean, and in these circumstances developers must call through programming to SAP.    In iPortal Application Server, as long as the code in the plug-in the category of CMP write once, and then inserted into the container.    This will enable developers dedicated exclusively to business logic, so the containers in the SAP in the management sustainability. 

  9.3 log, and audit statements 

  IPortal Application Server log a service, managers can use it to be an important system events information, abnormal warning of the details wrong. 
  Log function allows you to set the types of information collected, whether or not such information will be displayed on the screen, or it will be exported to a specified documents.    Default settings suited to the majority of iPortal Application Server environment, but can increase or change in the configuration domain, log variables to override. 
  IPortal Application Server supports four main log level: 

  (1) Information (information): Information information is generated to notify administrators have important non-error incidents. 

  (2) Warning (warning): iPortal Application Server anomalies encountered a warning message when, but it can be ignored and continue to implement. 

  (3) Error (error): In iPortal Application Server errors have encountered an error message, there may recover from mistakes, but also may be forced to give up their current mission. 

  (4) Fatal Error (fatal error): When iPortal Application Server encountered can not be restored wrong, have the warning messages. 

  1985: IONA will EJB and CORBA technology with a reasonable structure in addition to outstanding iPortal Application Server, through the use of ART and the POA technology, it has good flexibility and scalability. 

  IPortal Application Server to obtain the trial version, please http://www.iona-iportal.com/suite/appserver.htm download.    To understand the use of the products, skills and relevant papers go IONA's Development Center: http://www.iona.com/products/iportal/devcenter.htm. 

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • DotNetKicks
  • DZone
  • Netvouz
  • Propeller

Tags: ,

Releated Java Articles

Comments

Leave a Reply