G l a r I m y Presentation on

Size: px
Start display at page:

Download "G l a r I m y Presentation on"

Transcription

1 G l a r I m y Presentation on OSGi with Apache Karaf Krishna Mohan Koyya Proprietor & Principle Consultant Glarimy Technology Services Benguluru Bharat krishna@glarimy.com

2 . The Classroom Protocol Few Administrative Formalities Sign in the attendance sheet, if provided Fill-in the feedback at the end of sessions, if provided Derive Maximum Value Ask questions, any time Participate in discussions and lab exercises Avoid brining personal or office work to the class room Stay away from internet while class in the session Lets Learn Together Switch-off or mute personal phones Leave/enter the class room without disturbing the class Take phone calls outside the class room Keep the class room clean and professional No cross discussions Reference Material Download from No rint/cd. Protect Environment!

3 Glarimy Technology Services About Glarimy Established in 2008 and Registered in 2010 Based out of Benguluru, Bharat (Bangalore, India) Business Interests Technology Consulting Architectural Appreciation Architectural Review Prototyping Corporate Training Software Design, Architecture and Processes Web 2.0 Technologies Standard and Enterprise Technologies Weekend Public Workshops One-day Executive Workshops on Saturdays Business Reach Through 3 rd Party Vendor Organizations and Direct Relationships Geographies: Banguluru, Chennai, Pune, Hyderabad, Kochi and etc., Client Base: HSBC, Robert Bosch, Oracle, Alcatel-Lucent and etc.,

4 Krishna Mohan Koyya Career spanning across 17 years 9 Years into Software Engineering with Cisco Systems, Wipro/Lucent and HP 6 Years as Principle Consultant and Founder of Glarimy Technology Services 1 Year as CEO at Sudhari IT Services, Bangalore 1 Year as HoD at Sasi Institute of Technology and Engineering, Tadepalligudem Proven Delivery Web 2.0: ExtJS, Dojo, Jquery Frameworks, HTML5, CSS3, XML Enterprise Java: Spring, Hibernate, EJB, JSF, OSGi, Web Services Design Patterns, Architectural Patterns, TDD Technology Expertise Distributed Systems and Network Management Systems Object Oriented Systems Development Infrastructure, Middleware and Web Layers with Java and Javascript Academics M.Tech (Computer Science & Tech) from Andhra University, Visakhapatnam BE (Electronics & Comm. Engg) from SRKR Engg. College, Bhimavaram

5 OSGi with Karaf Getting Started The what and why of OSGi An architectural overview of OSGi First Look at Bundles Introducing bundles Configuring bundles Defining bundles with metadata OSGi bundle lifecycle Lifecycle and modularity Working with Karaf Setting up Karaf Karaf Features: Console and Logging Deploying bundles Working with Bundles Splitting an application into bundles Versioning packages and bundles OSGi dependency resolution Ordering bundle activation Starting bundles lazily

6 OSGi with Karaf Advanced Bundle Management Handling exports and Imports Requiring bundles Dividing bundles into fragments Turning JARs into bundles Cyclic Dependencies OSGi services in action Extender Pattern Compendium Services Event Services Configuration Management Services Service Locater Service Declarative Services Working with BluePrint OSGi and Spring Framework Enterprise OSGi Migrating tests to OSGi Debugging bundles Solving class-loading issues Tracking down memory leaks 2014, Glarimy. All rights reserved.

7 OSGi Bundle Basics An OSGi bundle as the unit of modularization It must be a cohesive and self-contained unit It must explicitly define its dependencies to other modules and services. It must also explicitly define its external API. A bundle is a.jar files With additional meta information in META- INF/MANIFEST.MF file. The MANIFEST.MF file is part of the standard Java specification. OSGi adds additional metadata. Any non-osgi runtime will ignore the OSGi metadata. Therefore OSGi bundles can be used without restrictions in non-osgi Java environments.

8 OSGi Bundle Basics A bundle is uniquely identified by its name and version Bundle-SymbolicName Starts with the reverse domain name of the bundle author Bundle-Version property (major.minor.patch) patch is increased if all changes are backwards compatible. minor is increased if public API has changed but all changes are backwards compatible. major is increased if changes are not backwards compatible Both are defined in MANIFEST.MF file

9 OSGi Bundle Basics An Example Manifest File Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Bank-Api Plug-in Bundle-SymbolicName: com.glarimy.osgi; Bundle-Version: Bundle-Activator: com.glarimy.osgi.activator Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Export-Package: com.glarimy.osgi.api

10 OSGi Bundle Basics Example Bundle Manifest Headers Bundle-Name: Defines short description of the bundle Bundle-SymbolicName: Defines the unique identifier of the bundle Bundle-Version: Defines the bundle version Bundle-Activator: Defines an optional activator class Implements the BundleActivator interface. Bundle-RequiredExecutionEnvironment (BREE) Defines the Java version to run the bundle Bundle-ActivationPolicy: Defines the policy to decide when to activate a bundle Bundle-ClassPath: Location of the bundle classes. Defaults to root of the bundle

11 OSGi Bundle Basics A bundle define its dependency to other bundles or packages. Based on a certain or range of versions of other bundles Classes in the non-dependent bundles can not be found Except the packages/classes from JVM. A bundle defines its API via the Export-Package Identifier All packages which are not explicitly exported are not visible to other bundles. Each bundle has its own OSGi class-loader. It enforces restrictions on access to various classes according to the defined dependencies.

12 OSGi Bundle Lifecycle

13 OSGi Bundle Lifecycle OSGi manages dependency among the bundles. Installation The bundle is persisted into local cache Assigns a unique ID for the bundle (INSTALLED) Resolution Reads the MANIFEST.MF file Ensures that all dependent bundles are resolved (RESOLVED) Recursive process Chooses a bundle with highest version Chooses a bundle with lowest ID If the dependencies are not met, then the bundle is not resolved Activation Activates the bundle as per activation policy Ensures that all dependent bundles are activated

14 Manifest Headers Bundle-Classpath An ordered, comma-separated list Of relative bundle JAR file locations To be searched for class and resource requests. The default value DOT (.) if and only if there is no specified value Example Bundle-ClassPath:.,other-classes/,embedded.jar

15 Manifest Headers Export-Package A comma-separated list Of internal bundle packages To expose for sharing with other bundles. Unless exported, no package is visible outside the bundle Exception: Java Packages are always visible Example Export-Package: com.glarimy.api,com.glarimy.service Export-Package: com.glarimy.api; vendor="manning", com.glarimy.service; vendor= Glarimy Export-Package: com.glarimy.api; com.glarimy.service;vendor= Glarimy Export-Package: com.glarimy.api; com.glarimy.service; version="2.0.0"

16 Manifest Headers Import-Package A comma-separated list of packages As needed by internal bundle code From other bundles Can not import bundles, unless exported by the other bundles Example Import-Package: com.glarimy.api Import-Package: com.glarimy.api,com.glarimy.util Import-Package: org.osgi.framework; version="[1.3.0,2.0.0)

17 Manifest Headers Version Range Specification Square bracket for inclusive range Parenthesis for exclusive range Default 0.0.0: Any version Examples [min,max) : min <= x < max [min,max] : min <= x <= max (min,max) : min < x < max (min,max] : min < x <= max min : min <= x

18 Bundle Resolution Bundle Resolution Process The class is from a package starting with java The parent class loader is asked for the class. If the class is found, it s used. If there is no such class, the search ends with an exception. The class is from a package imported by the bundle The framework asks the exporting bundle for the class. If the class is found, it s used. If there is no such class, the search ends with an exception. The bundle class path is searched for the class If it s found, it s used. If there is no such class, the search ends with an exception Resolves a bundle automatically when another bundle attempts to use it.

19 OSGi Bundle Resolution Different versions of the same package in the same running JVM Highest priority to already-resolved candidates Multiple matches of resolved candidates are sorted according to version and then installation order Next priority to unresolved candidates Multiple matches of unresolved candidates are sorted according to version and then installation order Inconsistent import-export or dynamic deployments may cause class-cast exception

20 OSGi Bundle Resolution Uses Directive Attached to exported packages A comma-delimited list of packages Exposed by the associated exported package Example If package org.osgi.service.http uses package javax.servlet, importers of org.osgi.service.http are constrained to the same javax.servlet Export-Package: org.osgi.service.http; uses:="javax.servlet"; version="1.0.0" Import-Package: javax.servlet; version="2.3.0 Uses constraints are transitive

21 Updating Bundles Updates The new bundle version is put in place, but the old version is still kept around So bundles depending on it can continue loading classes from it. Each time an update without a refresh is performed, an another version of the bundle is introduced. Uninstalls The bundle is removed from the installed list of bundles, but it isn t removed from memory. Again, the framework keeps it around so dependent bundles can continue to load classes from it. Update followed by Refresh

22 Managing Exports Importing own packages It s generally a good idea to import and export interface packages Scenario: P is an interface package. A is a client bundle importing package P Both bundles B and C exporting P along with some implementations. OSGi allows either B or C only to export P as part of resolution. By importing as well as exporting P, either A or B can use/provide object of classes in P. Less number of versions of classes causes less number of conflicts. Manifest Snippet in bundles B and C Export-Package: com.glarimy.api; Version= Import-Pacakge: com.glarimy.api; Version=

23 Managing Exports Mandatory Export Attributes Bundle resolution is largely controlled by import declaration Only attributes mentioned in the Import are considered Scenario: Import matches the Export Declaration Export-Package: com.glarimy.dir.api;version= ;license= gts Import-Package: com.glarimy.dir.api;version=[1.0.0,2.0.0) Scenario: Import fails to match the Export Declaration Export-Package: com.glarimy.dir.api;version= ;license= gts ;mandatory:= license Import-Package: com.glarimy.dir.api;version=[1.0.0,2.0.0) Scenario: Import matches the Export Declaration Export-Package: com.glarimy.dir.api;version= ;license= gts ;mandatory:= license Import-Package: com.glarimy.dir.api;version=[1.0.0,2.0.0);license= gts

24 Managing Exports Include and Exclude Directives To specify a comma-delimited list of class names to exclude or include from the exported package, respectively. A class is only visible if it is matched by an entry in the include directive and not matched by any entry in the exclude directive. Wildcards are allowed Default value for Include is * (All) Default value of Exclude is empty string (None) Scenario: To export everything except Factory classes Export-Packages: com.glarimy.api;exclude:= *Factory Scenario: To export all Factory classes Export-Packages: com.glarimy.api;include:= *Factory

25 Managing Exports Duplicate Exports A given bundle can only see one version of a class Importing a package more than once is not allowed However, duplicate exports of the same package is allowed Scenario: Resolving for strict imports on and Export-Package: com.glarimy.api:version= 1.0.0,com.glarimy.api:Version= Scenario: Masking some of the packages for different imports Export-Package: com.glarimy.api; version="1.0.0"; exclude:="*factory", com.glarimy.api; version="1.0.0"; license= gts"; mandatory:= license"

26 Managing Imports Resolution Directive Can be mandatory for successfull resolution Can be optional for successful resolution Scenario: The logger is an optional library Import-Package: org.log4j.logger;version:2.3.0;resoltion:= Optional Dynamic Import Can be used when the package name is not known in advance Used as the last resort in resolution process Code must handle exceptions Scenario: Load the mysql driver classes dynamically DynamicImport-Package=com.mysql.jdbc.*;Version= 5.0.0

27 Activation Policy Bundle-ActivationPolicy: lazy Activates the bundle only when a class is loaded from it It remains in the started state until then Bundle-ActivationPolicy: lazy; include:="com.acme.service"

28 Requiring Bundles Require-Bundle Imports all packages exported from the other bundle Require-Bundle: A; bundle-version="[1.0.0,2.0.0)"; resolution:="optional" These packages are used only if Import-Package fails Enables splitting of bundles Splitting packages into more than one bundle PackageAdmin look for all Require-Bundles for imports Directive: reexport When bundle B requires bundle A with reexport visibility, any packages exported from A become visible to any bundles requiring B. Require-Bundle: A; bundle-version="[1.0.0,2.0.0)"; visibility:="reexport"

29 Working with Split Packages Avoid, if possible Always export split packages with a mandatory attribute to avoid unsuspecting bundles from using them. Use either Require-Bundle or Import-Package plus the mandatory attribute to access parts of the split packages. Bundle-SymbolicName: A Bundle-Version: Export-Package: org.foo.bar; version="2.0.0"; split="part1"; mandatory:="split To provide access to the whole package, create a facade bundle that requires the bundles containing the package parts and exports the package in question. Bundle-SymbolicName: C Bundle-Version: Require-Bundle: A; version="[2.0.0,2.1.0)", B; version="[2.0.0,2.1.0)" Export-Package: org.foo.bar; version="2.0.0"

30 Bundle Fragments Fragment-Host Bundle can be split into host & fragments This header specifies the single symbolic name of the host bundle on which the fragment depends, along with an optional bundle version range A host bundle is technically usable without fragments, but the fragments aren t usable without a host. Fragments are treated as optional host-bundle dependencies by the OSGi framework. But the host bundle isn t aware of its fragments Fragment-Host: org.foo.hostbundle; bundleversion="[1.0.0,1.1.0)"

31 Bundle Fragments Resolution The content and metadata from the fragments are conceptually merged with the host s content and metadata. Rather than giving each fragment its own class loader, the framework attaches the fragment content to the host s class loader. Two classes in the same package, but loaded by two different class loaders, can t access each others packageprivate members. By loading fragment classes with the host s class loader, the fragment classes are properly recombined to avoid this issue. This isn t true for split packages accessed through Require- Bundle.

32 OSGi with Karaf Bundle-RequiredExecutionEnvironment This header specifies a comma delimited list of supported execution environments. Bundle-RequiredExecutionEnvironment: J2SE- 1.4,J2SE-1.5,JavaSE-1.6 It s possible to install a bundle on a given execution environment even if it s not compatible with it, but it wouldnt be resolved unless its required execution environment matches the current one.

33 Manifest Headers Bundle-ActivationPolicy A marker to tell the OSGi runtime whether this bundle should be activated Bundle-Activator A class implementing the BundleActivator which will be called at bundle activation time and deactivation time. Bundle-Category A comma-separated list of category names. Bundle-ClassPath Where to load classes from from the bundle. Bundle-ContactAddress header is used to store a human-readable physical address of where to find out more information about the bundle.

34 Manifest Headers Bundle-Copyright May be used to store some text indicating the copyright owner of the bundle. Bundle-Description A header allows you to provide a human-readable textual description of the bundle. Bundle-DocURL Is a textual header, which can contain a URL (typically a website) that the user can find more information about the bundle. DynamicImport-Package Is not widely used. Its purpose is to allow a bundle to be wired up to packages that may not be known about in advance.

35 Manifest Headers Export-Package consumable by other bundles. A comma-separated list of fullyqualified packages, to be consumed by other bundles, often with a version attribute. If not specified, the version defaults so Bundle-Host Declares this bundle to be a Fragment, and specifies which parent bundle to attach to: Import-Package A header is used to declare dependencies at a package level from the bundle. The Bundle-ManifestVersion Is not mandatory, but if missing defaults to version 1. OSGi R4 introduced Bundle-ManifestVersion: 2, and so in practice, almost 2014, Glarimy. All rights reserved.

36 Manifest Headers Bundle-Name is a textual identifier for the bundle. Bundle-NativeCode contains information about native libraries that should be loaded by this bundle Require-Bundle header is used to express a dependency on a bundle's exports by reference to its symbolic name instead of via specific packages. Bundle-RequiredExceptionEnviornment presents a list of Execution Environments that must be present for this bundle to install.

37 Manifest Headers Service-Component Is a header used in Declarative Services to define many individual XML files (or patterns) which can be used to declare components. Bundle-SymbolicName Is used together with Bundle-Version to uniquely identify a bundle in an OSGi runtime. Bundle-Vendor Contains a human-readable textual description string which identifies the vendor of the bundle Bundle-Version Specifies the version of this bundle, in major.minor.micro.qualifier format. The default, if not specified, is assumed to be , Glarimy. All rights reserved.

38 The Final Resolution Requests for classes in java. packages are delegated to the parent class loader; search stops Requests for classes in an imported package are delegated to the exporting bundle; search stops Requests for classes in a package from a required bundle are delegated to the exporting bundle; searching continues with a failure The host bundle class path is searched for the class; searching continues with a failure Fragment bundle class paths are searched for the class in the order in which the fragments were installed. Searching stops if found but continues through all fragment class paths and then to the next step with a failure. If the package in question isn t exported or required, requests matching any dynamically import package are delegated to an exporting bundle if one is found. Searching stops with either a success or a failure

39 The Extender Pattern Some bundle in the application acts as the extender: it listens for bundles being started and/or stopped. When a bundle is started, the extender probes it to see if it s an extension bundle. The extender looks in the bundle s manifest (using Bundle.getHeaders()) or the bundle s content (using Bundle.getEntry()) for specific metadata it recognizes. If the bundle does contain an extension, the extension is described by the metadata. The extender reads the metadata and performs the necessary tasks on behalf of the extension bundle to integrate it into the application. The extender also listens for extension bundles to be stopped, in which case it removes the associated extensions from the application.

40 Services They are not proxies They are real objects Nullify the references for proper garbage collection Hold them only for using not for storing Only services of same version Services might not be visible though active Use Service Factory It creates an instance on demand Same instance to the same bundle Destroys once the bundle is done with it

41 Services objectclass Class name the service was registered under. Can t be changed after registration. service.id Unique registration sequence number, assigned by the framework when registering the service. service.pid Persistent (unique) service identifier service.ranking Ranking used when discovering services. Defaults to 0. Services are sorted by their ranking (highest first) and then by their ID (lowest first) service.description Description of the service service.vendor Name of the vendor providing the service 2014, Glarimy. All rights reserved.

42 Services Perform attribute matching: (name=john Smith) (age>=20) (age<=65) Perform fuzzy matching: (name~=johnsmith) Perform wildcard matching: (name=jo*n*smith*) Determine if an attribute exists: (name=*) Match all the contained clauses: (&(name=john Smith)(occupation=doctor)) Match at least one of the contained clauses: ( (name~=john Smith)(name~=Smith John)) Negate the contained clause: (!(name=john Smith))

43 OSGi Event Admin Provides a publish-subscribe model for handling events. Based on OSGi Event Admin Service Specification. Dispatches events between Event Publishers and Event Subscribers By interposing an event channel. Publishers and Subscribers have no direct knowledge of each other Communication can be synchronous and asynchronous. Mechanism org.osgi.service.event.event : topic and properties org.osgi.service.event.eventadmin: sendevent, postevent org.osgi.service.event.eventhandler: handleevent org.osgi.service.event.eventconstants: EventConstants.EVENT_TOPIC

44 OSGi Config Admin Makes it possible to write dynamically configurable services Configuration updates without restart Programmatic configuration Based on OSGi Config Admin Service Specification. Manages configuration of managed services By persisting configuration By updating the interested parties about changes in configuration Mechanism org.osgi.service.cm.managedservice updated(dicitionary) org.osgi.service.cm.configurationadmin update(dictionary) service.pid 2014, Glarimy. All rights reserved.

45 OSGi Blueprint Services Bean Provides components with the same basic semantics as Spring beans: Construction via reflective construction or static factory methods Support for singletons or prototype instances Injection of properties or constructor arguments Lifecycle callbacks for activation and deactivation Service Allows components to provide OSGi services Environment Provides components access to the OSGi framework and the Blueprint container, including the bundle context of the component

46 OSGi Blueprint Services Reference Gets a single service from the OSGi service registry for the component based on the service interface and an optional filter over the service properties Reference list Gets one or more services from the OSGi service registry for the component based on the service interface and an optional filter over the service properties

47 OSGi Blueprint Service

48 OSGi Blueprint Services Consuming Services <blueprint <bean id= directory" class= com.glarimy.glarimydirectory init-method="activate destroy-method="deactivate"/> <reference-list id="shape interface="org.foo.shape.simpleshape availability="optional"> <reference-listener bindmethod="addshape unbindmethod="removeshape ref="paintframe"/> </reference-list> <service id="window 2014, Glarimy. All rights reserved.

49 Testing OSGi Bundles Junit Runner Mocking with Mockito and etc., PAX-Exam Pax Exam is a testing toolkit that addresses the need for bundlelevel testing. When a Pax Exam test is run, it starts an OSGi framework, installs and starts a selection of bundles, and then makes an OSGi BundleContext Injects the BundleContext ServiceTracker helps in getting the service for assertions

50 Common Issues The identity of a class at execution time is not only associated with its fully qualified class name, it s also scoped by the class loader that loads it. The exact same class loaded by two different class loaders is loaded twice by the Java VM And is treated as two different and incompatible types. Casting an instance of one to the other, results in ClassCastException. When embedding and exporting common open source packages in a bundle, import them as well!

51 Class Loading Issues ClassNotFoundException Package-Private classes only visible to classes from the same class loader Often found in split-packages ClassCastException itemtracker.open(true) discovers all the services Results in incompatible services Missing/Mismatched Uses Class.forName()

52 Debugging in Karaf Use remote debugging. > bin\karaf.bat debug set KARAF_DEBUG=true Then, you can launch Karaf using the usual way: Last, inside your IDE, connect to the remote application (the default port to connect to is 5005). This option works fine when it is needed to debug a project deployed top of Apache Karaf.

53 Thank You Glarimy Technology Services Consulting & Corporate Training: Weekend Executive Workshops: Queries:

OSGi in Action. RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE CREATING MODULAR APPLICATIONS IN JAVA MANNING. Greenwich (74 w. long.

OSGi in Action. RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE CREATING MODULAR APPLICATIONS IN JAVA MANNING. Greenwich (74 w. long. OSGi in Action CREATING MODULAR APPLICATIONS IN JAVA RICHARD S. HALL KARL PAULS STUART McCULLOCH DAVID SAVAGE 11 MANNING Greenwich (74 w. long.) contents foreword xiv preface xvii acknowledgments xix about

More information

Modular Java Applications with Spring, dm Server and OSGi

Modular Java Applications with Spring, dm Server and OSGi Modular Java Applications with Spring, dm Server and OSGi Copyright 2005-2008 SpringSource. Copying, publishing or distributing without express written permission is prohibit Topics in this session Introduction

More information

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved.

Agenda. Why OSGi. What is OSGi. How OSGi Works. Apache projects related to OSGi Progress Software Corporation. All rights reserved. OSGi Overview freeman.fang@gmail.com ffang@apache.org Apache Servicemix Commiter/PMC member Apache Cxf Commiter/PMC member Apache Karaf Commiter/PMC member Apache Felix Commiter Agenda Why OSGi What is

More information

OSGi on the Server. Martin Lippert (it-agile GmbH)

OSGi on the Server. Martin Lippert (it-agile GmbH) OSGi on the Server Martin Lippert (it-agile GmbH) lippert@acm.org 2009 by Martin Lippert; made available under the EPL v1.0 October 6 th, 2009 Overview OSGi in 5 minutes Apps on the server (today and tomorrow)

More information

Equinox Framework: How to get Hooked

Equinox Framework: How to get Hooked Equinox Framework: How to get Hooked Thomas Watson, IBM Lotus Equinox Project co-lead Equinox Framework lead developer 2008 by IBM Corp; made available under the EPL v1.0 March 2008 Tutorial Agenda Equinox

More information

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005

Java Modularity Support in OSGi R4. Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Java Modularity Support in OSGi R4 Richard S. Hall ApacheCon (San Diego) December 14 th, 2005 Modularity What is it? What is Modularity? (Desirable) property of a system, such that individual components

More information

Red Hat JBoss Fuse 6.1

Red Hat JBoss Fuse 6.1 Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications for OSGi containers Last Updated: 2017-10-12 Red Hat JBoss Fuse 6.1 Managing OSGi Dependencies How to package applications

More information

OSGi. Building and Managing Pluggable Applications

OSGi. Building and Managing Pluggable Applications OSGi Building and Managing Pluggable Applications What A Mess Billing Service Orders Shipping Accounting Workflow Inventory Application From The View Of... Building monolithic applications is evil nuf

More information

OSGi in Action. Ada Diaconescu

OSGi in Action. Ada Diaconescu OSGi in Action Karl Pauls Clement Escoffier karl.pauls@akquinet.de clement.escoffier@akquinet.de INF 346. Ada Diaconescu ada.diaconescu@telecom-paristech.fr 2 OSGi in Action - Clement Escoffier (clement.escoffier@akquinet.de)

More information

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009 First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»

More information

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2 JUnit Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain Dependencies Debugging Surefire OSGi p2 Mac OS X Update Site Tycho Redistribution and other use of this material requires

More information

JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity

JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity JSR 277, 291 and OSGi, Oh My! - OSGi and Java Modularity Richard S. Hall June 28 th, 2006 Agenda Modularity Modularity in Java Modularity in Java + OSGi technology Introduction to OSGi technology Apache

More information

CS5233 Components Models and Engineering

CS5233 Components Models and Engineering Prof. Dr. Th. Letschert CS5233 Components Models and Engineering (Komponententechnologien) Master of Science (Informatik) OSGI Bundles and Services Slides on OSGi are based on OSGi Alliance: OSGi Service

More information

Equinox OSGi: Pervasive Componentization

Equinox OSGi: Pervasive Componentization Equinox OSGi: Pervasive Componentization Thomas Watson Equinox Development Lead IBM Lotus Jeff McAffer, Eclipse RCP and Equinox Lead IBM Rational Software 10/3/2006 Why is Eclipse interesting? Extensible

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

Developing Applications with Java EE 6 on WebLogic Server 12c

Developing Applications with Java EE 6 on WebLogic Server 12c Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need

More information

Patterns and Best Practices for Dynamic OSGi Applications

Patterns and Best Practices for Dynamic OSGi Applications Patterns and Best Practices for Dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Liberate your components with OSGi services

Liberate your components with OSGi services Liberate your components with OSGi services One products journey through the Modularity Maturity Model Alasdair Nottingham (not@uk.ibm.com) WebSphere Application Server V8.5 Liberty Profile Development

More information

MuleSoft Certified Developer - Integration Professional Exam Preparation Guide

MuleSoft Certified Developer - Integration Professional Exam Preparation Guide MuleSoft Certified Developer - Integration Professional Exam Preparation Guide Mule Runtime 3.8 June 24, 2016 1 Table of Contents PREPARATION GUIDE PURPOSE... 3 EXAM OBJECTIVE... 3 PREPARATION RECOMMENDATIONS...

More information

Breaking Apart the Monolith with Modularity and Microservices CON3127

Breaking Apart the Monolith with Modularity and Microservices CON3127 Breaking Apart the Monolith with Modularity and Microservices CON3127 Neil Griffin Software Architect, Liferay Inc. Specification Lead, JSR 378 Portlet 3.0 Bridge for JavaServer Faces 2.2 Michael Han Vice

More information

OSGi Best Practices. Emily

OSGi Best Practices. Emily OSGi Best Practices Emily Jiang @IBM Use OSGi in the correct way... AGENDA > Why OSGi? > What is OSGi? > How to best use OSGi? 3 Modularization in Java > Jars have no modularization characteristics No

More information

CO Java EE 7: Back-End Server Application Development

CO Java EE 7: Back-End Server Application Development CO-85116 Java EE 7: Back-End Server Application Development Summary Duration 5 Days Audience Application Developers, Developers, J2EE Developers, Java Developers and System Integrators Level Professional

More information

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt

Modularity in Java. With OSGi. Alex Docklands.LJC January Copyright 2016 Alex Blewitt Modularity in Java With OSGi Alex Blewitt @alblue Docklands.LJC January 2016 Modularity in Java Modularity is Easy? Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity is Hard! Modularity

More information

Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr

Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr Modularity in Java 9 Balázs Lájer Software Architect, GE HealthCare HOUG Oracle Java conference, 04. Apr. 2016. Modularity in Java before Java 9 Source: https://www.osgi.org/developer/architecture/ 2 MANIFEST.MF

More information

SAS 9.2 Foundation Services. Administrator s Guide

SAS 9.2 Foundation Services. Administrator s Guide SAS 9.2 Foundation Services Administrator s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS 9.2 Foundation Services: Administrator s Guide. Cary, NC:

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.

More information

SAS 9.4 Foundation Services: Administrator s Guide

SAS 9.4 Foundation Services: Administrator s Guide SAS 9.4 Foundation Services: Administrator s Guide SAS Documentation July 18, 2017 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS 9.4 Foundation Services:

More information

OSGi Service Platform Enterprise Specification. The OSGi Alliance

OSGi Service Platform Enterprise Specification. The OSGi Alliance OSGi Service Platform Enterprise Specification The OSGi Alliance Release 4, Version 4.2 March 2010 OSGi Allian ce Digitally signed by OSGi Alliance DN: cn=osgi Alliance, c=us, o=osgi Alliance Reason: I

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper 12c (12.1.2) E23013-01 June 2013 Documentation for Oracle JDeveloper users that describes how to develop downloadable extensions to

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Java EE 6: Develop Business Components with JMS & EJBs

Java EE 6: Develop Business Components with JMS & EJBs Oracle University Contact Us: + 38516306373 Java EE 6: Develop Business Components with JMS & EJBs Duration: 4 Days What you will learn This Java EE 6: Develop Business Components with JMS & EJBs training

More information

Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper. 12c ( )

Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper. 12c ( ) Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper 12c (12.2.1.3.0) E67105-01 August 2017 Oracle Fusion Middleware Developing Extensions for Oracle JDeveloper, 12c (12.2.1.3.0) E67105-01

More information

MIGRATION GUIDE DIGITAL EXPERIENCE MANAGER 7.2

MIGRATION GUIDE DIGITAL EXPERIENCE MANAGER 7.2 1 SUMMARY 1 INTRODUCTION... 4 2 HOW TO UPGRADE FROM DIGITAL EXPERIENCE MANAGER 7.1 TO 7.2... 5 2.1 Code base review and potential impacts... 5 2.2 Deployment scripts/procedure review... 5 2.3 Test environment

More information

Introduction to OSGi. Marcel Offermans. luminis

Introduction to OSGi. Marcel Offermans. luminis Introduction to OSGi Marcel Offermans luminis Introduction Marcel Offermans marcel.offermans@luminis.nl Luminis Arnhem Apeldoorn Enschede IT solutions from idea to implementation with and for customers:

More information

Developing Java Applications with OSGi Capital District Java Developers Network. Michael P. Redlich March 20, 2008

Developing Java Applications with OSGi Capital District Java Developers Network. Michael P. Redlich March 20, 2008 Developing Java Applications with OSGi Capital District Java Developers Network Michael P. Redlich March 20, My Background (1) Degree B.S. in Computer Science Rutgers University (go Scarlet Knights!) Petrochemical

More information

1.2. Name(s) and address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008

1.2. Name(s) and  address of Document Author(s)/Supplier: Sahoo: 1.3. Date of This Document: 12 July 2008 01234567890123456789012345678901234567890123456789012345678901234567890123456789 1. Introduction 1.1. Project/Component Working Name: Modularization of GlassFish using OSGi 1.2. Name(s) and e-mail address

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 35 hours Price: $750 Delivery Option: Attend training via an on-demand, self-paced platform paired with personal instructor facilitation.

More information

OSGi Subsystems from theory to practice Glyn Normington. Eclipse Virgo Project Lead SpringSource/VMware

OSGi Subsystems from theory to practice Glyn Normington. Eclipse Virgo Project Lead SpringSource/VMware from theory to practice Glyn Normington Eclipse Virgo Project Lead SpringSource/VMware 1 Software rots 2 modularity helps 3 but... 4 A clean design 5 without enforcement 6 works fine for a while 7 then

More information

Spring Interview Questions

Spring Interview Questions Spring Interview Questions By Srinivas Short description: Spring Interview Questions for the Developers. @2016 Attune World Wide All right reserved. www.attuneww.com Contents Contents 1. Preface 1.1. About

More information

BEAWebLogic. Event Server. WebLogic Event Server Reference

BEAWebLogic. Event Server. WebLogic Event Server Reference BEAWebLogic Event Server WebLogic Event Server Reference Version 2.0 July 2007 Contents 1. Introduction and Roadmap Document Scope and Audience............................................. 1-1 WebLogic

More information

Apache Felix. Richard S. Hall. A Standard Plugin Model for Apache. Atlanta, Georgia U.S.A. November 13th, 2007

Apache Felix. Richard S. Hall. A Standard Plugin Model for Apache. Atlanta, Georgia U.S.A. November 13th, 2007 Apache Felix A Standard Plugin Model for Apache Richard S. Hall Atlanta, Georgia U.S.A. November 13th, 2007 Agenda Why OSGi technology? OSGi technology overview Apache Felix status Example application

More information

Introduction to Spring Framework: Hibernate, Spring MVC & REST

Introduction to Spring Framework: Hibernate, Spring MVC & REST Introduction to Spring Framework: Hibernate, Spring MVC & REST Training domain: Software Engineering Number of modules: 1 Duration of the training: 36 hours Sofia, 2017 Copyright 2003-2017 IPT Intellectual

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

Java Training For Six Weeks

Java Training For Six Weeks Java Training For Six Weeks Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation that provides a system for developing application

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints

Active Endpoints. ActiveVOS Platform Architecture Active Endpoints Active Endpoints ActiveVOS Platform Architecture ActiveVOS Unique process automation platforms to develop, integrate, and deploy business process applications quickly User Experience Easy to learn, use

More information

Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1

Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1 IBM Software Group Understanding ClassLoaders WebSphere 5.1, 6.0 and 6.1 Speaker: Paul Van Norman WebSphere Support Technical Exchange Agenda Classloader overview Classloader delegation mode & policies

More information

IBM WebSphere Application Server 8. Java EE 6 Feature Packs

IBM WebSphere Application Server 8. Java EE 6 Feature Packs IBM WebSphere Application Server 8 EE 6 Feature Packs Thomas Bussière- bussiere@fr.ibm.com IT Architect Business Solution Center La Gaude, France Enabling Developers to Start With Open Source/Community

More information

2 Apache Wink Building Blocks

2 Apache Wink Building Blocks 2 Apache Wink Building Blocks Apache Wink Building Block Basics In order to take full advantage of Apache Wink, a basic understanding of the building blocks that comprise it and their functional integration

More information

Oracle Complex Event Processing

Oracle Complex Event Processing Oracle Complex Event Processing Reference Guide Release 3.0 July 2008 Alpha/Beta Draft Oracle Complex Event Processing Reference Guide, Release 3.0 Copyright 2007, 2008, Oracle and/or its affiliates. All

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: CDN$3275 *Prices are subject to GST/HST Course Description: This course provides a comprehensive introduction to JPA

More information

Red Hat JBoss Fuse 6.1

Red Hat JBoss Fuse 6.1 Red Hat JBoss Fuse 6.1 Management Console User Guide Managing your environment from the Web Last Updated: 2017-10-12 Red Hat JBoss Fuse 6.1 Management Console User Guide Managing your environment from

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008 Europe on a Disk Geodata Processing with Eclipse and OSGi Harald Wellmann 10 Nov 2008 Overview Past and Present of Navigation Data Processing Anaconda: The Future Our usage of OSGi and Eclipse 2008 Harman

More information

SPRING MOCK TEST SPRING MOCK TEST I

SPRING MOCK TEST SPRING MOCK TEST I http://www.tutorialspoint.com SPRING MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Spring Framework. You can download these sample mock tests at

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject to GST/HST Delivery Options:

More information

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol

Pro JPA 2. Mastering the Java Persistence API. Apress* Mike Keith and Merrick Schnicariol Pro JPA 2 Mastering the Java Persistence API Mike Keith and Merrick Schnicariol Apress* Gootents at a Glance g V Contents... ; v Foreword _ ^ Afooyt the Author XXj About the Technical Reviewer.. *....

More information

Fast Track to EJB 3.0 and the JPA Using JBoss

Fast Track to EJB 3.0 and the JPA Using JBoss Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity

More information

Class Dependency Analyzer CDA Developer Guide

Class Dependency Analyzer CDA Developer Guide CDA Developer Guide Version 1.4 Copyright 2007-2017 MDCS Manfred Duchrow Consulting & Software Author: Manfred Duchrow Table of Contents: 1 Introduction 3 2 Extension Mechanism 3 1.1. Prerequisites 3 1.2.

More information

Configuration for Microprofile. Mark Struberg, Emily Jiang, John D. Ament

Configuration for Microprofile. Mark Struberg, Emily Jiang, John D. Ament Configuration for Microprofile Mark Struberg, Emily Jiang, John D. Ament 1.2, December 21, 2017 Table of Contents Microprofile Config.........................................................................

More information

Zero Turnaround in Java Jevgeni Kabanov

Zero Turnaround in Java Jevgeni Kabanov Zero Turnaround in Java Jevgeni Kabanov ZeroTurnaround Lead Aranea and Squill Project Co-Founder Turnaround cycle Make a change Check the change Build, deploy, wait DEMO: SPRING PETCLINIC TURNAROUND Outline

More information

OSGi Remote Services with SCA using Apache Tuscany. Raymond Feng

OSGi Remote Services with SCA using Apache Tuscany. Raymond Feng OSGi Remote s with SCA using Apache Tuscany Raymond Feng rfeng@apache.org Agenda What are OSGi remote services? A sample scenario: Distributed Calculator Representing OSGi entities using SCA Predefined

More information

Modularity for Java and How OSGi Can Help

Modularity for Java and How OSGi Can Help Modularity for Java and How OSGi Can Help Richard Hall To cite this version: Richard Hall. Modularity for Java and How OSGi Can Help. présentation invitée à DECOR04. 2004. HAL Id: hal-00003299

More information

Enhydra Shark. What is Enhydra Shark? Table of Contents

Enhydra Shark. What is Enhydra Shark? Table of Contents Table of Contents What is Enhydra Shark?... 1 StartingShark...2 ConfiguringShark...2 Setting "enginename" parameter...3 Setting kernel behaviour in the case of unsatisfied split conditions... 4 Setting

More information

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

OSGi. Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Background

More information

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

More information

SpringSource dm Server User Guide

SpringSource dm Server User Guide SpringSource dm Server User Guide Rob Harrop Paul Kuzan Sam Brannen Damilola Senbanjo Paul Harris Christopher Frost Ben Hale Glyn Normington Juliet Shackell 2.0.5.RELEASE Copyright SpringSource Inc., 2009

More information

CHAPTER 20. Integrating Code Libraries Plug-ins as JARs

CHAPTER 20. Integrating Code Libraries Plug-ins as JARs CHAPTER 20 Integrating Code Libraries Even the most Eclipse-biased developer would concede that the majority of Java libraries out there are not shipped as plug-ins. This chapter discusses the integration

More information

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ 1. What is Oracle proposing in EclipseLink, the Eclipse Persistence Platform Project? Oracle is proposing the creation of the Eclipse Persistence Platform

More information

Building LinkedIn's Next Generation Architecture with OSGI

Building LinkedIn's Next Generation Architecture with OSGI OSGi Building LinkedIn's Next Generation Architecture with OSGI Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan Yan

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

Peter Kriens OSGi Evangelist/Director. OSGi R4.3 // Next Release Overview

Peter Kriens OSGi Evangelist/Director. OSGi R4.3 // Next Release Overview Peter Kriens OSGi Evangelist/Director OSGi R4.3 // Next Release Overview Agenda Framework & ServiceTracker update to Java 5 generics A replacement for Package Admin and Start Level A Shell standard Managing

More information

Creating an application with the Virgo Web Server

Creating an application with the Virgo Web Server Creating an application with the Virgo Web Server GreenPages: a demonstration Christopher Frost Ben Hale Rob Harrop Glyn Normington Steve Powell Andy Wilkinson Abstract 2.1.0.CI-10 Warning Please note

More information

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx Name: xxxxxx Email ID: xxxxxx Ph: xxxxxx Summary: Over 7 years of experience in object oriented programming, design and development of Multi-Tier distributed, Enterprise applications using Java and J2EE

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

CORE JAVA 1. INTRODUCATION

CORE JAVA 1. INTRODUCATION CORE JAVA 1. INTRODUCATION 1. Installation & Hello World Development 2. Path environment variable d option 3. Local variables & pass by value 4. Unary operators 5. Basics on Methods 6. Static variable

More information

Java EE 6: Develop Web Applications with JSF

Java EE 6: Develop Web Applications with JSF Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: +966 1 1 2739 894 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn This course is aimed at developers who want to build Java

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Jigsaw and OSGi: What the Heck Happens Now?

Jigsaw and OSGi: What the Heck Happens Now? Jigsaw and OSGi: What the Heck Happens Now? Neil Bartlett neil.bartlett@paremus.com Jigsaw and OSGi: WTF Happens Now? Neil Bartlett neil.bartlett@paremus.com Agenda WTF is a Module System? How do OSGi

More information

AppDev StudioTM 3.2 SAS. Migration Guide

AppDev StudioTM 3.2 SAS. Migration Guide SAS Migration Guide AppDev StudioTM 3.2 The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2006. SAS AppDev TM Studio 3.2: Migration Guide. Cary, NC: SAS Institute Inc.

More information

Struts: Struts 1.x. Introduction. Enterprise Application

Struts: Struts 1.x. Introduction. Enterprise Application Struts: Introduction Enterprise Application System logical layers a) Presentation layer b) Business processing layer c) Data Storage and access layer System Architecture a) 1-tier Architecture b) 2-tier

More information

JAVA. 1. Introduction to JAVA

JAVA. 1. Introduction to JAVA JAVA 1. Introduction to JAVA History of Java Difference between Java and other programming languages. Features of Java Working of Java Language Fundamentals o Tokens o Identifiers o Literals o Keywords

More information

Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov

Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov Founder of ZeroTurnaround Aranea and Squill Project Co-Founder Speaker, Scientist, Engineer, Entrepreneur, Turnaround cycle Make a change

More information

CO Java EE 6: Develop Database Applications with JPA

CO Java EE 6: Develop Database Applications with JPA CO-77746 Java EE 6: Develop Database Applications with JPA Summary Duration 4 Days Audience Database Developers, Java EE Developers Level Professional Technology Java EE 6 Delivery Method Instructor-led

More information

Adobe Experience Manager

Adobe Experience Manager Adobe Experience Manager Extend and Customize Adobe Experience Manager v6.x Student Guide: Volume 1 Contents CHAPTER ONE: BASICS OF THE ARCHITECTURAL STACK... 10 What is Adobe Experience Manager?... 10

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8

Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8 Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8 Author: Ying Liu cdlliuy@cn.ibm.com Date: June,29 2011 2010 IBM Corporation THE INFORMATION

More information

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway

Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway Using the Cisco ACE Application Control Engine Application Switches with the Cisco ACE XML Gateway Applying Application Delivery Technology to Web Services Overview The Cisco ACE XML Gateway is the newest

More information

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle Fusion Middleware 11g: Build Applications with ADF Accel Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware

More information

Oracle Fusion Middleware 11g: Build Applications with ADF I

Oracle Fusion Middleware 11g: Build Applications with ADF I Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Oracle Fusion Middleware 11g: Build Applications with ADF I Duration: 5 Days What you will learn Java EE is a standard, robust,

More information

Training topic: OCPJP (Oracle certified professional Java programmer) or SCJP (Sun certified Java programmer) Content and Objectives

Training topic: OCPJP (Oracle certified professional Java programmer) or SCJP (Sun certified Java programmer) Content and Objectives Training topic: OCPJP (Oracle certified professional Java programmer) or SCJP (Sun certified Java programmer) Content and Objectives 1 Table of content TABLE OF CONTENT... 2 1. ABOUT OCPJP SCJP... 4 2.

More information

JVA-163. Enterprise JavaBeans

JVA-163. Enterprise JavaBeans JVA-163. Enterprise JavaBeans Version 3.0.2 This course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

Apache Wink Developer Guide. Draft Version. (This document is still under construction) Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer

More information

Creating an application with dm Server

Creating an application with dm Server Creating an application with dm Server GreenPages: a demonstration Christopher Frost Ben Hale Rob Harrop Glyn Normington Steve Powell Andy Wilkinson 2.0.0.RC1 Abstract Spring application programmers are

More information

"Charting the Course... Mastering EJB 3.0 Applications. Course Summary

Charting the Course... Mastering EJB 3.0 Applications. Course Summary Course Summary Description Our training is technology centric. Although a specific application server product will be used throughout the course, the comprehensive labs and lessons geared towards teaching

More information