Friday Aug 02, 2013

OEPE Coherence Grid Archives (GAR) Support


OEPE 12c (12.1.2) release supports Coherence Grid Archives (GAR) application development and deployment to WebLogic Server 12c (12.1.2). A Coherence application is a set of artifacts packaged in a jar called Coherence Grid Archive (.gar), which can be deployed to WebLogic Server 12c as a stand-alone module or bundled in an EAR project. This tutorial demonstrates the various GAR features available in OEPE.

Development Environment Set-up

 OEPE 12c (12.1.2)
 From OTN, download and extract OEPE
 Oracle WebLogic Server 12c (12.1.2)
 From OTN, download and install WLS RT

GAR Project Configuration

Like in any application development, the first step is to create the project that contains required configuration files and libraries.

  • Launch eclipse.exe and switch to a new workspace
  • Switch to Java EE perspective
  • A new wizard is provided to create GAR project
    • From the File | New menu launch "Oracle Coherence Project"
    • Type in a name, "GARDemo"
    • Create a new 12.1.2 RT selecting WLS home (ex: C:\12.1.2-wls-home\wlserver)
    • NOTE: You can create a standalone GAR project or bundle in an EAR
    • For demo purpose, make sure to check "Add project to an EAR"
    • On the project wizard, navigate to Library management page and note the listing of "Coherence Library in Fusion Middleware Install". And also the option to generate the required configuration files.
    • Click Finish
  • In project explorer, notice the generation of default coherence configuration files and library jars
  • Also note the creation of sample web project that can be used as a view module

Configure Coherence project

  • Download and extract to GARDemo | src folder (if required, refresh the project root)
  • Define Application Lifecyle listener
    • In Project Explorer, GARDemo | src | META-INF, double click on coherence-application.xml
    • NOTE: The coherence application file is based on Sapphire based xml editor
    • Check Application lifecycle listener, browse and select "LifeCycleReactor"
    • Save and close coherence-application.xml file
  • Configure Coherence Portable Object Format (POF)
    • In Project Explorer, GARDemo | src, open pof-config.xml
    • Copy-paste the content of <user-type> , <allow-intefaces> and <allow-subclasses> from sample file
    • Save and close pof-config.xml file
  • Export "Oracle Coherence Library"
    • In Project Explorer, right click on GARDemo | Properties | Java Build Path & switch to "Order and Export" tab
    • Make sure to select "Oracle Coherence Library"
    • FYI: We will need the libraries to reference coherence classes in web project 
    • Click OK and dismiss the properties dialog

Configure Web project

  • Add JSF Facet and define coherence deployment assembly
    • In Project Explorer, right click on GARDemoWeb | Properties | Deployment Assembly
    • Click Add and select GARDemo project
    • NOTE: The coherence module is recognized as a GAR (.gar) project
    • Click Apply
    • On the properties dialog, select Project Facets and check JSF Facet version 2.1
    • Click OK and dismiss properties dialog
  • Download and extract to GARDemoWeb | src folder (if required refresh project root)
  • Download and extract to GARDemoWeb | WebContent folder

Deploy Coherence application

  • In the Server view, create a new 12c server configuration
  • NOTE: The server configuration wizard provides an option to create new domain
  • Like any other JSP file, right click on ContactList.jsp and run on 12c server
  • On the Browser, click on "Insert 20 Random Contacts" and generate contact list
  • Optional: You can also exercise other operations, Create, Delete and Update Contact info
  • In the Server view, right click on GARDemoEar and remove the project (un-deploy) from the server

GAR Deployment Support

  • Similar to other Java EE module, the GAR project can be deployed in any of the three WLS supported modes
    • Split source (default mode, also known as Virtual deployment)
    • Exploded archive (packaged in a EAR)
    • In addition to local server, the GAR project can also be deployed to remote server instance

Packaging GAR Project

  • Similar to WAR, the GAR project can be added to WLS 12c instance as a stand-alone module (supported only in Exploded archive)
  • In the above demo we packaged GAR module in an EAR project
    • On creating GAR project bundled in an EAR, the weblogic-application.xml is auto configured with GAR module
    • A validation in weblogic-application.xml ensures only one GAR module can be bundled in an EAR
  • NOTE: As a special case, GAR project bundled in EAR can be deployed both as a stand-alone module and packaged in EAR

Export project as GAR module

  • Similar to Web project .war file, a GAR project can be exported to a .gar file


Introduction to GAR


The focus of this blog is on Oracle Enterprise Pack for Eclipse (OEPE) and Oracle's involvement in the Eclipse community. Visit us for information on releases, tips and tricks related to Eclipse, and general Eclipse community information.


« June 2016