Liferay DXP profile for Dynatrace

Size: px
Start display at page:

Download "Liferay DXP profile for Dynatrace"

Transcription

1 Liferay DXP profile for Dynatrace This document provides description of Dynatrace profile created for monitoring of Liferay DXP installations. Version Liferay version Dynatrace Version Created by Created on 1 DXP (7.0 ga1) build 1007 Brian Wilson, Josef Sustacek Aug 12, 2016

2 Table of Contents Table of Contents Business Transactions Portlet [portlet name] [portlet phase] CMS Page Request CMS Page Request by Page Type [page type] CMS Page Request by Request Type [portlet phase] Portlet [phase] CSS Client Side CSS Server Side JavaScript Client Side JavaScript Server Side Liferay Login Request (non SSO) Liferay Login Request (SSO) Liferay Logout Request Liferay Signed in User Non UEM Liferay WebServer Document Request Liferay WebServer Image Request User Action Response Size Workflow Engine Kaleo GraphWalker Message Received Liferay HTTP API Request AJAX Request Measures Business Transaction measures Portlet measures Liferay Signed in User measures CMS pages measures CSS and JavaScript measures Liferay Login Method (non SSO) Liferay Login URI (SSO) Liferay Logout Request Liferay WebServer Documents URI Liferay WebServer Images URI XHR by X Requested With header Liferay EhCache [cache name] [cache metric] Database pool measures Custom JMX category Liferay JDBC Pool C3p0, All PooledDataSource beans (sum) [metric] Liferay JDBC Pool HikariCP, All Pool beans (sum) [metric] Liferay JDBC Pool TomcatJdbcPool, All Pool beans (sum) [metric] Tomcat category JDBC Pool TomcatJdbcPool "jdbc/liferaypool" [metric]

3 JDBC Pool TomcatJdbcPool "jdbc/liferaycounterpool" [metric] JBoss category JDBC Pool ManagedConnectionPool, all Pool beans (sum) [metric] Thread pools measures Tomcat ThreadPool Connector "ajp nio 8009" [metric] ThreadPool Connector "http nio 8080" [metric] JBoss ThreadPool all pools (sum) [metric] Method execution time PortletContainerUtil.[method name] Time Liferay Search Engine [method name] Time Agent Sensors Packs and their configuration Application Servers (Tomcat, JBoss) UEM Configuration Java Code Instrumentation (Sensors) com.liferay.portal.kernel.portlet.portletcontainerutil render() processaction() serveresource() com.liferay.portal.kernel.security.auth.session.authenticatedsessionmanagerutil login() com.liferay.portal.workflow.kaleo.runtime.internal.graph.messaging.pathelementmessag elistener doreceive() com.liferay.portal.servlet.friendlyurlservlet service() com.liferay.portal.search.facet.internal.faceted.searcher.facetedsearcherimpl dosearch() com.liferay.portal.kernel.search.indexsearcherhelperutil search() com.liferay.portal.search.elasticsearch.internal.elasticsearchindexsearcher search() com.liferay.portal.search.solr.internal.solrindexsearcher search() Dashboards Liferay Overview Liferay [portlet type] Overview Liferay Search Overview Liferay CMS Page Performance Analysis Liferay HTTP API Request Analysis Liferay Operations Overview Liferay Ehcache Metrics

4 Liferay Process Monitoring Liferay Database Performance Resources

5 Business Transactions The profile contains custom Business Transaction which mainly serve as a way to classify PurePaths (with Web Requests) into various groups based on how Liferay will be handling these PurePaths. Following sections will describe most important transactions. Most of the Business Transactions use one or more custom Measures. Portlet [portlet name] [portlet phase] We have identified a group of core Liferay portlets, which are most commonly used in Liferay deployments (by end users). We are interested in knowing when a portlet request for one of these portlets has been sent to Liferay and how it was processed. Most of the portlets use Liferay MVC framework as their implementation and transactions then split on the significant portlet parameter which was used to form the portlet URL. For action requests it is the action name ( javax.portlet.action), for resource requests it is the resource ID ( p_p_resource_id). For render requests, there are no splits defined, since most of the time, portlets are rendered with implicit params and it s impossible to setup a measure in Dynatrace with default value returned when not computed for given PurePath. The Business Transactions are named with the pattern Portlet [portlet name] [portlet phase]. The third part, [portlet phase] covers one of the portlet phases, as declared by JSR 286: action processed action phase resource served resource phase view rendered render phase Not all selected portlets have Business Transactions for all the portlet phases. Some portlets are not using the missing phases or they are used only sporadically by end users. Examples of created Business Transactions: Portlet Asset Publisher resource served Portlet Asset Publisher view rendered Portlet Calendar action processed Portlet Calendar resource served Portlet Calendar view rendered Portlet Search view rendered Business Transactions were defined for these core portlets: Portlet Asset Publisher Portlet name (ID) com_liferay_asset_publisher_web_portlet_assetpublisherportlet

6 Blogs Calendar Documents and Media Media Gallery Message Boards Search Sign In Web Content Web Content Display Wiki Wiki Display com_liferay_blogs_web_portlet_blogsportlet com_liferay_calendar_web_portlet_calendarportlet com_liferay_document_library_web_portlet_dlportlet com_liferay_document_library_web_portlet_igdisplayportlet com_liferay_message_boards_web_portlet_mbportlet com_liferay_portal_search_web_portlet_searchportlet com_liferay_login_web_portlet_loginportlet com_liferay_journal_web_portlet_journalportlet com_liferay_journal_content_web_portlet_journalcontentportlet com_liferay_wiki_web_portlet_wikiportlet com_liferay_wiki_web_portlet_wikidisplayportlet CMS Page Request Tags any PurePath containing Web Request which will be handled as a request for Liferay Content Management System page. The typical Liferay CMS page contains a set of portlets and belongs to some Liferay site or organization's site. Liferay CMS page URIs typically start with /web, /group or /user, but when virtual hosts are used for some Liferay site, these might be shortened to contain just the friendly URL of the page. Split is made on the internal friendly URL of the request, the way Liferay servlets see it. It is always the full (longer) version of the URI, not shortened by a virtual host filter. Also, the split transformation removes any portlet friendly URL mapper part if present at the end of the URI. All Liferay s portlet friendly URL mappers are delimited by / / in the URI. For details on virtual hosts and portlet friendly URL mappers, see Liferay documentation or FriendlyURLServlet section. CMS Page Request by Page Type [page type] Each of these Business Transactions matches a subset of PurePaths tagged as CMS Page Request, based on the type of the targeted Liferay group and layout set. We classify the CMS pages into three categories based on this type, which translates into three transactions: CMS Page Request by Page Type Private Site Page private pages of any Liferay site URI pattern: /group/*

7 CMS Page Request by Page Type Private User Page private pages of any Liferay user URI pattern: /user/* CMS Page Request by Page Type Public Page public pages of any Liferay site or user URI pattern: /web/* There is no split on these transactions, CMS Page Request transaction defines the split and will match every PurePath matched by any of these transactions. CMS Page Request by Request Type [portlet phase] Each of these business transactions matches a subset of PurePaths tagged as CMS Page Request. Given transaction is matched if at least one portlet has entered given portlet phase during processing of the PurePath. We recognize there portlet phases for CMS page requests, which translates into three transactions: CMS Page Request by Request Type Process Portlet Action portlet action phase CMS Page Request by Request Type Render Portlets portlet render phase CMS Page Request by Request Type Serve Portlet Resource portlet resource phase There is no split on these transactions, CMS Page Request transaction defines the split and will match every PurePath matched by any of these transactions. Transaction for portlet event phase was not created due to lack of its use in core portlets. If needed, it can be added by following the pattern and using the measure on the method PortletContainerUtil.processEvent() as needed. Sensor for this method might need to be activated in Liferay Sensors configuration. Please note that one PurePath can be processing both action and render phases. This happens when a portlet action URL is processed and the executed portlet action method does not send a redirect to render phase. Most core Liferay portlets are sending the redirect, to prevent accidental re submission of forms. Since portlet events are sent from action phase, also event phase can be in one PurePath with action phase. Portlet [phase] Each of these Business Transactions covers execution of one portlet phase (JSR 286) of any portlet deployed into Liferay DXP. The portlet does not have to be processed in the context of a CMS page, for example if ajaxable is set to true for given portlet, it can be rendered on AJAX URI /c/portal/render_portlet without any theme or layout decorations.

8 Three Business Transaction belong to this group: Portlet action processed Portlet view rendered Portlet resource served The transactions are capturing the portlet container method time (not whole PurePath time). The split is done on portletid for for all transactions. For instanceable portlets, this includes the instanceid. For the same reason as in CMS Page Request by Request Type [portlet phase], the transaction for portlet event phase was not created, but can be added if necessary. CSS Client Side Tags any User Action which involves loading of a CSS file from the server. This could either be a static CSS file ( *.css) or dynamic CSS content assembled by Liferay servlet (e.g. *.jsp generating a CSS content). CSS Server Side Tags any PurePath containing Web Request which is serving a CSS file from server. This could either be a static CSS file ( *.css) or dynamic CSS content assembled by Liferay servlet (e.g. *.jsp generating a CSS content). JavaScript Client Side Tags any User Action which involves loading of a JavaScript file from the server. This could either be a static JavaScript file ( *.js) or dynamic JavaScript content assembled by Liferay servlet (e.g. /combo/ generating a JavaScript content). JavaScript Server Side Tags any PurePath containing Web Request which is serving a JavaScript file from server. This could either be a static JavaScript file ( *.js) or dynamic CSS content assembled by Liferay servlet (e.g. /combo/ generating a JavaScript content). Liferay Login Request (non SSO) Tags any PurePath which will be authenticating the user into Liferay using username and password provided by the user. Uses code instrumentation on Liferay s core class AuthenticatedSessionManagerUtil.login(). This Business Transaction does not have a split on username. Data is stored in Performance Warehouse and the set of distinct usernames could be very large. For one PurePath, the username can be retrieved by drilling down through the call stack of the PurePath.

9 Liferay Login Request (SSO) Tags any PurePath containing Web Request which will try to authenticate the user using one of the Liferay SSO handlers or Remember Me cookies. The exact set of handlers depends on Liferay configuration. Uses matching on URI /c/portal/login. Please note that Remember Me authentication will also be used on any CMS page ( /web, /user, /group), so not all auto login requests using Remember Me cookies will be tagged with this Business Transaction. This Business Transaction also does not have a split on username, for the same reasons as Liferay Login Request (non SSO) mentioned previously. Liferay Logout Request Tags any PurePath containing Web Request which will sign the user out of Liferay DXP. Uses matching on URI /c/portal/logout, which covers both SSO and non SSO authenticated users. This Business Transaction also does not have a split on username, for the same reasons as Liferay Login Request (non SSO) mentioned previously. Liferay Signed in User Non UEM Tags all PurePaths containing Web Request (no filter is specified), provides information about user s identity from Liferay s point of view. Transaction splits on the user attributes ( user ID, screen name and primary ) of the user authenticated into Liferay. Split values are fetched from HTTP session attributes.. Please note that for unauthenticated users, Liferay uses a default user object created for given Liferay instance (not null object). To analyze all transactions for a particular user where Dynatrace UEM is not available, search a user name in this view and drill down to PurePaths. This Business Transaction is not stored in Performance Warehouse due to split on users, which might generate too many unique values. As a result, data from this transaction will be available in Dynatrace only temporarily. Liferay WebServer Document Request Tags any PurePath containing Web Request which will be serving a file (its binary content) from Liferay's Document Library through WebServer servlet. Matches URIs /documents/*.

10 Liferay WebServer Image Request Tags any PurePath containing Web Request which will be serving an image (its binary content) from Liferay through WebServer servlet. Matches URIs /image/*. User Action Response Size Tags every User Action and measures the average size of the transferred data. Workflow Engine Kaleo GraphWalker Message Received Tags every PurePath within which at least one transition was made in the Liferay's Kaleo Workflow Engine. Measures the time it took to process all transitions within given PurePath. Liferay HTTP API Request Tags any PurePath containing Web Request which will be handled by one of the Liferay API servlets. These are all mapped to URIs starting with /api. Various APIs are available in Liferay, this transaction covers them all: Atom, Axis, JSON, JSON WS, Spring, Liferay. AJAX Request Tags any PurePath containing a Web Request which was made using some modern JavaScript library, like AlloyUI or jquery.

11 Measures Liferay profile contains a set of custom measures, which are used either in Business Transactions, dashboards (graphs), incident definitions or to provide additional information when drilling down through one individual PurePath. Following section provides overview of the most important custom measures and their use. Business Transaction measures Many measures are used within the custom Business Transactions, either as filtres, splits or calculations. Portlet measures As listed in section on Business Transactions, we have a set of transactions which cover the core Liferay portlets. These are backed by a set of measures providing the filters and splits for these transactions. Measures are relying on the instrumentation sensors, mainly on PortletContainerUtil. Example measures: Calendar render request Documents and Media Display resource request Web Content action request Liferay Signed in User measures Three measures were created to extract the identity of users logged into Liferay: User in Liferay ('user.get address()' from HTTP session) User in Liferay ('user.getscreenname()' from HTTP session) User in Liferay ('userid' from HTTP session) Each measure produces one type of identification of Liferay user, each is value is unique within all users in one Liferay instance. Measures are relying on Servlets Sensor Pack and its configuration in application server agents, see Application Servers (Tomcat, JBoss). These measures are used for Business Transaction Liferay Signed in User Non UEM and also to tag User Visits in UEM Configuration. CMS pages measures Various measures providing filters and splits to categorize Web Request which will be handled by Liferay as Content Management System page requests. There are two ways how to recognize the CMS page URI pattern: external and internal. External detection relies in the URI as provided by the Web Request. Although this looks like an obvious

12 choice how to detect CMS page request, due to Liferay s virtual hosts and friendly URL mappings, not all requests may be captured. Internal detection is more reliable, since it s reading the URI based on instrumentation of Liferay s CMS servlet, after the virtual host filter and friendly URL mapping was performed by Liferay. For details, see com.liferay.portal.servlet.friendlyurlservlet section. These measures are used in various CMS transactions, see CMS Page Request, CMS Page Request by Page Type [page type] and CMS Page Request by Request Type [portlet phase]. CSS and JavaScript measures Various measures used to determine if a Web Request is serving CSS or JavaScript content. Liferay contains several servlets and JSPs generating dynamic CSS and JavaScript based on passed parameters. Measures are used in Business Transactions CSS Client Side, CSS Server Side, JavaScript Client Side and JavaScript Server Side. Liferay Login Method (non SSO) Used as a filter to match Liferay authentications using username and password, provided by the user, most likely through configured login portlet like the core Sign In portlet. This measure uses instrumentation on method AuthenticatedSessionManagerUtil.login(), since this method has to be (by Liferay contract) used by any portlet which authenticates user using explicit credentials (username and password). Measure is used by transaction Liferay Login Request (non SSO). Liferay Login URI (SSO) Used as a filter to match Liferay SSO authentications, which all occur on URI /c/portal/login. All Liferay SSO filters are mapped to this URI, together with Remember Me autologin filter. If user can be logged in using one of the filters, redirect is sent to user's landing page. If no filter can authenticate the user, redirect is sent to the page which will render the configured login portlet. This typically is the default, Sign In portlet, but can be changed using Liferay configuration. Please note that Remember Me is also mapped to all CMS pages ( /web/*, /user/*, /group/*), so not all auto logins via Remember Me cookies will go through /c/portal/login. Measure is used by transaction Liferay Login Request (SSO).

13 Liferay Logout Request Used as a filter to match Liferay DXP logouts on URI /c/portal/logout. Both manually and SSO authenticated users are using this URI to log out of Liferay DXP. Measure is used by transaction Liferay Logout request. Liferay WebServer Documents URI Used as a filter on Web Requests which will be handled by Liferay Web Server servlet. Matches URIs starting with /documents/, used to serve Document Library documents and their thumbnails, for example in Documents and Media portlet. Measure is used in Business Transaction Liferay WebServer Document Request. Liferay WebServer Images URI Used as a filter on Web Requests which will be handled by Liferay Web Server servlet. Matches URIs starting with /image/, used to serve dynamically stored images, like user account s pictures. Measure is used in Business Transaction Liferay WebServer Image Request. XHR by X Requested With header Provides a way to determine if a Web Request should be categorized as a regular or AJAX request. The measure matches Web Requests on HTTP header X Requested With with value XMLHttpRequest. All modern frameworks (YUI, AlloyUI, jquery) add this header when making an AJAX call. Measure is used in Business Transaction AJAX Request. Liferay EhCache [cache name] [cache metric] A set of measures to capture statistics of Liferay EhCache caches through JMX. Can be found in Measures > Server Side Performance > Agent based Measures > Custom JMX. For every cache, we are capturing three metrics and calculating fourth: MemoryStoreObjectCount number of elements in cache MaxElementsInMemory maximal size of the cache InMemoryHitPercentage rate of success for cache element being present in cache when requested cache occupancy rate (in memory) calculated from first and second metric

14 Following caches are covered by these measures: com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.groupimpl com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.layoutimpl com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.layoutsetimpl com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.roleimpl com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.usergrouproleimpl com.liferay.portal.kernel.dao.orm.entitycache.com.liferay.portal.model.impl.userimpl com.liferay.portal.security.permission.permissioncacheutil_permission com.liferay.portal.security.permission.permissioncacheutil_permission_checker_bag com.liferay.portal.security.permission.permissioncacheutil_resource_block_ids_bag Dynatrace automatically fetches new value for each JMX metric every 10 seconds, using configured MBean definitions. Liferay utilizes a large number of caches (300+), these measures only capture basic set of essential caches. Measures for additional caches can be added following provided pattern, if necessary. Measures are used in Liferay Ehcache Metrics dashboard and related views. Database pool measures Although Liferay uses one database schema to store its relational data, two data sources are used to query the database: main Liferay data source and counter data source. The use of two data sources is necessary to prevent deadlocks (see comment on property counter.jdbc.prefix inside portal.properties for details). Liferay will by default create its own internal data sources, with all connections pooled for better performance, or it can get them as a JNDI resource from the application server. Liferay will then rely on application server s configuration that the retrieved data sources will be defined with proper connection pooling. Following measures cover the most commonly used pool implementations which can be used in Liferay. All measures can be found in Server Side Measures > Agent based Measures, in a category denoting in which application server will data for this measure be available. Custom JMX category Liferay JDBC Pool C3p0, All PooledDataSource beans (sum) [metric] A set of measures reporting metrics for all C3p0 pools present in the JVM environment. If Liferay is using C3p0 pool of database connections (either as internal pool or through JNDI) and there is no other pool of this type defined, the measure will return data for the Liferay connection pools.

15 If there are more C3p0 pools, the data will be aggregated. C3p0 generates unique identifier for every pool after its start, not related to the the pool s resource name (the JNDI name under which it s published in the application server), so it s not possible to target only the Liferay pools. Liferay JDBC Pool HikariCP, All Pool beans (sum) [metric] A set of measures reporting metrics for all Hikari pools present in the JVM environment, typically created internally by Liferay. If there are more Hikari pools than the Liferay ones, the data will be aggregated. Hikari generates unique identifier for every pool after its start, not related to the the pool s logical name, so it s not possible to target only the Liferay pools. Liferay JDBC Pool TomcatJdbcPool, All Pool beans (sum) [metric] A set of measures reporting metrics for all Tomcat pools created by Liferay internally. This metric is exposed by Liferay itself, so no data from other pools should be reported in this measures. Tomcat category JDBC Pool TomcatJdbcPool "jdbc/liferaypool" [metric] A set of measures reporting metrics for a Tomcat pool named jdbc/liferaypool, which is the default JNDI name of the external Liferay pool as used in Liferay bundles. If your Liferay installation is using external Tomcat pool, but it s named differently, you will have to update the measures accordingly or create a set of your own measures mirroring the existing ones. JDBC Pool TomcatJdbcPool "jdbc/liferaycounterpool" [metric] Same as previous, only reporting measures for a differently named JNDI resource, allocated for Liferay s counter data source. JBoss category JDBC Pool ManagedConnectionPool, all Pool beans (sum) [metric] A set of measures to get current number of busy connections and maximal size of the pool, together with the rate between the two. Please note that JBoss publishes only a very limited database pools data into JMX (if any), so the measures might not report valid information. Thread pools measures Liferay fully relies on its application server to provide the thread pools for HTTP / AJP connectors, which are processing all WebRequests. The naming and configuration of the pools depends on the application server settings, the following measures are reflecting the default setup and naming as used in Liferay bundles.

16 All measures can be found in Server Side Measures > Agent based Measures, in a category denoting in which application server will data for this measure be available. Tomcat ThreadPool Connector "ajp nio 8009" [metric] These measures captures the number of busy threads and maximal size of the pool, together with rate between the two, for the default Tomcat AJP NIO connector listening on port If your AJP connector is configured differently (different port number, using BIO, APR...) the name of the JMX bean might be different and you might need to update the measures accordingly. See Tomcat documentation for details. ThreadPool Connector "http nio 8080" [metric] These measures captures the number of busy threads and maximal size of the pool, together with the rate between the two, for the default Tomcat HTTP NIO connector, listening on port If your HTTP connector is configured differently (different port number, using BIO, APR...) the name of the JMX bean might be different and you might need to update the measures accordingly. See Tomcat documentation for details. JBoss ThreadPool all pools (sum) [metric] These measures provide the number of busy and total threads in JBoss thread pools. Please note that JBoss publishes only a very limited thread pools data into JMX (if any), so the measures might not report valid information. Method execution time We ve identified several places in Liferay, where we want to capture precise time it takes to execute particular method. These measures are then used either in calculations for Business Transactions or in dashboards. We capture the total execution time for each method, the method s time itself including any sub calls the method makes. All these measures rely on correctly enabled sensors, see Java Code Instrumentation section. PortletContainerUtil.[method name] Time Whenever a portlet request has to be processed by Liferay, static utility class PortletContainerUtil is responsible for the whole execution. Concrete method is chosen based on the portlet phase which the portlet request belongs to. We re capturing time of following methods: PortletContainerUtil.processAction()

17 PortletContainerUtil.processEvent() PortletContainerUtil.render() PortletContainerUtil.serveResource() All the measures rely on the sensors as outlined in instrumentation section, chapter com.liferay.portal.kernel.portlet.portletcontainerutil. Please note that processevent() does not have its sensor active by default. If you want to capture time of portlet events processing, enable the sensor for this method. Liferay Search Engine [method name] Time A set of measures capturing the execution time in several places of Liferay Search API. Covers possible Search Engine implementations as supported by Liferay (Elasticsearch or Solr). Following measures were created: Liferay Search Engine FacetedSearcherImpl.search() Time method called by Search portlet ( portletid= com_liferay_portal_search_web_portlet_searchportlet) delegates to IndexSearcherHelperUtil.search() Liferay Search Engine IndexSearcherHelperUtil.search() Time delegates to configured Search Engine implementation (Elasticsearch or Solr) Liferay Search Engine ElasticsearchIndexSearcher.search() Time method called by IndexSearcherHelperUtil if Liferay is configured to use Elasticsearch Liferay Search Engine SolrIndexSearcher.search() Time method called by IndexSearcherHelperUtil if Liferay is configured to use Solr Measures rely on the sensors as outlined in the instrumentation section, chapter FacetedSearcherImpl and onward.

18 Agent Sensors Packs and their configuration Some measures in Liferay profile rely on Dynatrace Sensors Packs and their configuration for connected agents, following section lists the changes from defaults. Application Servers (Tomcat, JBoss) Liferay runs on variety of Java application servers, appropriate Dynatrace application server agent has to have the Servlets Sensor Pack enabled, which is true by default. Also, in configuration of this Sensor Pack, following session attributes have to be captured by Dynatrace, since they are used in Liferay Signed in User measures and in UEM Configuration : session attribute USER with accessor get address() session attribute USER with accessor getscreenname() session attribute USER_ID with no accessor Sessions attributes do not have to be captured in all filters and servlets, just on the entry points, so the checkbox Capture details in all filters and servlets can be left unchecked (if not needed for other purposes).

19 UEM Configuration All User Visits are tagged by one of the measures providing identity of the users signed into Liferay. These measures rely on Servlets Sensor Pack and its configuration in application server agents, for details see Liferay Signed in User measures or sensors configuration for Application Servers (Tomcat, JBoss). One of the following measures should be selected to tag the user visits: User in Liferay ('user.get address()' from HTTP session) (default) will tag visits using the primary address from the user s account in Liferay s can be chosen by each user, imported from external system (LDAP) or automatically generated, depending on Liferay s configuration primary is always unique in one Liferay instance User in Liferay ('user.getscreenname()' from HTTP session) will tag visits with screen name from the user s account in Liferay screen name is either chosen by each user, imported from external system (LDAP) or automatically generated, depending on Liferay s configuration screen name is always unique in one Liferay instance User in Liferay ('userid' from HTTP session) will tag visits with userid of user s account in Liferay userid is a natural number generated by Liferay when a user account is created userid is always unique in one Liferay instance The measure used for UEM visits can be changed in Liferay profile details > User Experience > Default Applications (or selected one) > General / Tag visits with.

20 Java Code Instrumentation (Sensors) Many custom measures in Liferay profile are depending on instrumentation of methods in various places or Liferay code base. All Liferay related bytecode changes are defined in Sensor Group named Liferay. Following is the list of classes and methods which are actively instrumented. Sensor Group also contain a few inactive sensors, which are not needed by default, but can be activated if related measures are needed. com.liferay.portal.kernel.portlet.portletcontainerutil This class is used to handle all portlet requests in Liferay. It delegates the execution to the portlet implementation class and its JSR 286 methods. PortletContainer class follows the standard Liferay pattern XUtil (static methods facade) + X (interface) + Ximpl. All instrumented methods capture the third argument, to get the information which portlet instance is being rendered / is processing action / is serving portlet resource. Sensors capture liferayportlet.getportletid() from the third argument, which will be either: the portlet name from portlet.xml (or the OSGi annotation) for non instanceable portlets example: com_liferay_login_web_portlet_loginportlet the portlet name + instanceid for instanceable portlets example: com_liferay_wiki_web_portlet_wikidisplayportlet_instance_4bltfxexlqns render() void render(httprequest, httpresponse, liferayportlet) handles portlet render phase requests. Method will be called for every portlet instance which is being rendered in Liferay portlet container. Portlet can be rendered either on server side as part of a CMS page request or using AJAX for ajaxable portlets, on URI /c/portal/render_portlet. Method can be invoked once or multiple times for every PurePath, depending on how many portlets need to be rendered one portlet render URL can trigger rendering of multiple portlets, depending on portlet window states. Every method invocation within one PurePath will have a unique portlet instance object, with unique portletid being captured (see above ). processaction() void processaction(httprequest, httpresponse, liferayportlet) handles portlet action phase requests. Method will be called whenever a portlet action URL is being processed by Liferay.

21 Method is invoked at most once every PurePath, for the portlet instance to which the action URL belongs. serveresource() void serveresource(httprequest, httpresponse, liferayportlet) handles portlet resource phase requests. Method will be called whenever a portlet resource URL is being processed by Liferay. Method is invoked at most once every PurePath, for the portlet instance to which the resource URL belongs. com.liferay.portal.kernel.security.auth.session.authenticatedsessionmanag erutil login() void login(httprequest, httpresponse, String username, String password, boolean rememberme, String authtype) is the main method used by Liferay to authenticate users using username and password (non SSO authentication). It is called from the stock Sigh In portlet and should also be used by any other custom login portlet, which would be used as a way of authenticating users into Liferay. Sensor is capturing third argument, username. Sensor does not capture password (fourth argument), since it s passed to this method in plain text. com.liferay.portal.workflow.kaleo.runtime.internal.graph.messaging.pathel ementmessagelistener Listener class from kaleo web plugin which handles all messages sent to destination liferay/kaleo_graph_walker on Liferay Message Bus. Messages are sent to this destination whenever there s a need to make a transition in one of the workflow instances. Listener asynchronously receives the message and executes required transition, together with sending additional messages, if the transition results into one or more transitions to be made. doreceive() void doreceive(message) receives the message with the description of the transition to be made and executes it. Argument is not captured. This method starts a new PurePath if necessary, since the workflow engine is fully asynchronous. Transitions can happen without any user interaction, for example as a result of a timer event.

22 com.liferay.portal.servlet.friendlyurlservlet This servlet handles all requests to Liferay CMS pages. It is mapped in Liferay to handle patterns /web/*, /group/* and /user/* (see liferay web.xml). We instrument this servlet to be able to capture all requests which will be handled as Liferay CMS page request. It s important for Dynatrace monitoring to filter CMS URIs using this method and not just externally on Web Request and the URI that gets passed in the HTTP requests ( external URI). The external URI may not contain any of the mappings mentioned above and neither the site friendly URL key (second part of the URI). This may be supplied by one of Liferay filters, for example based on a virtual host mapping configured for Liferay sites. Examples of external vs. internal URIs: external URI is empty internal URI will be /web/hr if there is a site with friendly URL hr which has its public pages mapped to a virtual host hr.company.com external URI is /home internal URI will be /group/customers/home if there is a site with friendly URL /customers which has its private pages mapped to a virtual host customers.company.com and there is a private page /home external URI is /welcome internal URI will be /user/john.doe/welcome if there is a user s site with friendly URL john.doe which has its private pages mapped to a virtual host johndoe.com and contains a page /welcome external URI is /web/guest/home internal URI is the same as external, since it starts with one of the recognized static patterns ( /web) service() void service(httprequest, httpresponse) is the standard Servlet API method, which gets invoked for every HTTP request served by this servlet. First argument is captured with accessor httprequest.getrequesturi(), which gives us the complete internal URI the way Liferay application sees it, after any internal forwards or rewrite rules have been applied by Liferay filters. The value captured from first argument will typically be: /web/guest request to site guest without specifying the page, just telling Liferay we want to fetch public page

23 results into the first available page (from site guest) being rendered /web/guest/blogs request to public page blogs in site guest /user/john.doe/welcome request for private user page welcome owned by user john.doe /group/hr/benefits/ /blogs/how to get benefits request for private site page benefits in site hr, with portlet friendly URL mapping / /blogs/how to get benefits. com.liferay.portal.search.facet.internal.faceted.searcher.facetedsearcheri mpl This class is used by Search portlet to return the documents matching the keywords and other search inputs (facets values). dosearch() Hits dosearch(searchcontext) is used to form a search query based on the inputs provided in Search portlet. Method delegates to IndexSearcherHelperUtil.search(). com.liferay.portal.kernel.search.indexsearcherhelperutil Static utility class, determines which search engine was configured in Liferay (default Elasticsearch or Solr) and delegates the search to appropriate implementation of selected search engine. search() Hits search(searchcontext, query) is called from FacetedSearcherImpl to get search results from search engine configured in Liferay. com.liferay.portal.search.elasticsearch.internal.elasticsearchindexsearcher Implementation of Liferay search engine using Elasticsearch (ES). It comes with Liferay out of the box and is enabled until another search engine plugin is deployed into Liferay (like solr web). search() Hits search(searchcontext, query) is returning the matching documents from embedded ES (or external ES server, if configured), using ES binary API to issue the search request and get results. com.liferay.portal.search.solr.internal.solrindexsearcher Implementation of Liferay search engine using Solr. Solr integration will be enabled in Liferay only after Solr plugin ( solr web) is deployed into Liferay. Liferay uses Solr HTTP API to query Solr, since the search servers are typically not running on the same VM as the application server nodes with Liferay.

24 search() Hits search(searchcontext, query) is returning the matching documents from Solr, using Solr HTTP API to issue the search request and get results.

25 Dashboards For details about the individual Dashboards in the fastpack, please refer to the Dynatrace Liferay Fastpack page. Resources 1. Portlet Specification 2.0 (JSR 286): 2. Understanding the Java Portlet Specification 2.0 (JSR 286): html 3. Liferay Digital Experience Platform (DXP): experience platform 4. Liferay Developer Network: User & Admin: p_p_lifecycle=0&_2_war_knowledgebaseportlet_kbfolderurltitle=7 0 Developer: 5. Tomcat 8.0 Connectors: doc/connectors.html doc/config/ajp.html doc/config/http.html 6. JBoss Enterprise Application platform 6.4: Administration and Configuration Guide: US/JBoss_Enterprise_Application_Platform /6.4/html single/administration_and_configuration_guide/

Dynatrace FastPack for Liferay DXP

Dynatrace FastPack for Liferay DXP Dynatrace FastPack for Liferay DXP The Dynatrace FastPack for Liferay Digital Experience Platform provides a preconfigured Dynatrace profile custom tailored to Liferay DXP environments. This FastPack contains

More information

Liferay Architecture

Liferay Architecture Liferay Architecture Understanding the inside of Liferay Jorge Ferrer Vice President Engineering Table of Contents Architecture Overview Services Transactions Indexing Workflow Cache Frameworks Secret

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

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

IBM Realtests LOT-911 Exam Questions & Answers

IBM Realtests LOT-911 Exam Questions & Answers IBM Realtests LOT-911 Exam Questions & Answers Number: LOT-911 Passing Score: 800 Time Limit: 120 min File Version: 35.4 http://www.gratisexam.com/ IBM LOT-911 Exam Questions & Answers Exam Name: IBM WebSphere

More information

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration 2012 IBM Corporation Ideas behind this session Broaden the discussion when considering

More information

COPYRIGHTED MATERIAL

COPYRIGHTED MATERIAL Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

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

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation WebSphere Portal Application Development Best Practices using Rational Application Developer 2009 IBM Corporation Agenda 2 RAD Best Practices Deployment Best Practices WSRP Best Practices Portlet Coding

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

"Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary

Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary Course Summary Description This course will introduce attendees to Portlet development using Rational Application Developer 8.5 as their development platform. It will cover JSR 286 development, iwidget

More information

Advanced Web Systems 4- PORTLET API specifications (JSR 286) A. Venturini

Advanced Web Systems 4- PORTLET API specifications (JSR 286) A. Venturini Advanced Web Systems 4- PORTLET API specifications (JSR 286) A. Venturini Contents Summary from jsr 168 Needs addressed by JSR 286 Analysis of the Portlet API specification JSR-168 Portlet API Portlet

More information

An Application for Monitoring Solr

An Application for Monitoring Solr An Application for Monitoring Solr Yamin Alam Gauhati University Institute of Science and Technology, Guwahati Assam, India Nabamita Deb Gauhati University Institute of Science and Technology, Guwahati

More information

JSR-286: Portlet Specification 2.0

JSR-286: Portlet Specification 2.0 JSR-286: Portlet Specification 2.0 Upcoming enhancements and new features for Portal and Portlet Developers Ate Douma JSR-286 Expert Group Software Architect Hippo Open Source Content Management Software

More information

Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC.

Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC. TRAINING & REFERENCE murach's Java.. servlets and 2ND EDITION Joel Murach Andrea Steelman IlB MIKE MURACH & ASSOCIATES, INC. P 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 murachbooks@murach.com www.murach.com

More information

Portlet Standard JSR 168 / JSR 286

Portlet Standard JSR 168 / JSR 286 Portlet Standard JSR 168 / JSR 286 Version 1.0 Martin Weiss Martin Weiss Informatik AG Agenda JSR 168 2 JSR 168 What Is Missing? 22 JSR 286 25 Portlet Events 28 Public Render Parameters 32 Events vs. Public

More information

IBM LOT-911. IBM WebSphere Portal 8.0 Solution Development.

IBM LOT-911. IBM WebSphere Portal 8.0 Solution Development. IBM LOT-911 IBM WebSphere Portal 8.0 Solution Development http://killexams.com/exam-detail/lot-911 QUESTION: 105 Bill is developing a mail portlet. One of the requirements of the mail portlet is that it

More information

SSC - Web applications and development Introduction and Java Servlet (I)

SSC - Web applications and development Introduction and Java Servlet (I) SSC - Web applications and development Introduction and Java Servlet (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics What will we learn

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

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

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP Access Policy Manager with IBM, Oracle, and Microsoft

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP Access Policy Manager with IBM, Oracle, and Microsoft DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP Access Policy Manager with IBM, Oracle, and Microsoft Table of Contents Table of Contents Introducing the BIG-IP APM deployment guide Revision history...1-1

More information

Deployment Scenario: WebSphere Portal Mashup integration and page builder

Deployment Scenario: WebSphere Portal Mashup integration and page builder Deployment Scenario: WebSphere Portal 6.1.5 Mashup integration and page builder Deployment Scenario: WebSphere Portal 6.1.5 Mashup integration and page builder...1 Abstract...2 Portal Mashup integration

More information

Lotus Exam IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ]

Lotus Exam IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ] s@lm@n Lotus Exam 190-959 IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ] Topic 0, A A Question No : 1 - (Topic 0) A large motorcycle manufacturer has an internet

More information

A-2 Administration and Security Glossary

A-2 Administration and Security Glossary Appendix A Glossary This glossary defines some of the Process Commander terms system and background processing, authentication and authorization, process management, organization structure, and user interface

More information

Java Training Center, Noida - Java Expert Program

Java Training Center, Noida - Java Expert Program Java Training Center, Noida - Java Expert Program Database Concepts Introduction to Database Limitation of File system Introduction to RDBMS Steps to install MySQL and oracle 10g in windows OS SQL (Structured

More information

At present we use several collaboration (web) tools, like SuperB website Wiki SVN Document management system etc.

At present we use several collaboration (web) tools, like SuperB website Wiki SVN Document management system etc. At present we use several collaboration (web) tools, like SuperB website Wiki SVN Document management system etc. Each tool is a stand-alone service. Should we try to «consolidate» applications? 2/10 From

More information

1Z Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions

1Z Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions 1Z0-899 Java EE 6 Web Component Developer Certified Expert Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-899 Exam on Java EE 6 Web Component Developer Certified Expert... 2 Oracle

More information

Adobe ColdFusion 11 Enterprise Edition

Adobe ColdFusion 11 Enterprise Edition Adobe ColdFusion 11 Enterprise Edition Version Comparison Adobe ColdFusion 11 Enterprise Edition Adobe ColdFusion 11 Enterprise Edition is an all-in-one application server that offers you a single platform

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

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

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

Actual4Test.  Actual4test - actual test exam dumps-pass for IT exams Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : LRP-614 Title : Portal Developer Vendor : Liferay Version : DEMO 1 / 4 Get Latest & Valid LRP-614 Exam's

More information

Course Content for Java J2EE

Course Content for Java J2EE CORE JAVA Course Content for Java J2EE After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? PART-1 Basics & Core Components Features and History

More information

The project is conducted individually The objective is to develop your dynamic, database supported, web site:

The project is conducted individually The objective is to develop your dynamic, database supported, web site: Project The project is conducted individually The objective is to develop your dynamic, database supported, web site: n Choose an application domain: music, trekking, soccer, photography, etc. n Manage

More information

GlassFish 3.1 Admin Console Modules

GlassFish 3.1 Admin Console Modules GlassFish 3.1 Admin Console Modules This table outlines the delivery for 3.1 Admin Console and how each feature is grouped into a plugin module. Unless specified, groupid for the artifact is org.glassfish.admingui

More information

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78

Index. Combined lifecycle strategy, annotation, 93 ContentNegotiatingViewResolver, 78 Index A Action phase, 154 AJAX (asynchronous JavaScript and XML), 229 communication flow, 230 components, 156 custom tags, 250 functions, 229 GET and POST requests, 233 jquery, 233, 236 AJAX calls, 243

More information

JSR-286: Portlet Specification 2.0

JSR-286: Portlet Specification 2.0 JSR-286: Portlet Specification 2.0 for Portal and Portlet Developers Ate Douma Apache Software Foundation Member Apache Portals and Apache Wicket Committer & PMC Member JSR-286 & JSR-301 Expert Group Member

More information

Get in Touch Module 1 - Core PHP XHTML

Get in Touch Module 1 - Core PHP XHTML PHP/MYSQL (Basic + Advanced) Web Technologies Module 1 - Core PHP XHTML What is HTML? Use of HTML. Difference between HTML, XHTML and DHTML. Basic HTML tags. Creating Forms with HTML. Understanding Web

More information

Full Stack Java Developer Course

Full Stack Java Developer Course T&C Apply Full Stack Java Developer Course From Quick pert Infotech Learning Process Java Developer Learning Path to Crack Interviews Full Fledged Java Developer Spring & Hibernate (Framwork Expert) PL

More information

Advanced Software Engineering

Advanced Software Engineering Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering JSR 168 Prof. Agostino Poggi JSR 168 Java Community Process: http://www.jcp.org/en/jsr/detail?id=168

More information

Coveo Platform 7.0. Liferay Connector Guide

Coveo Platform 7.0. Liferay Connector Guide Coveo Platform 7.0 Liferay Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing market

More information

Liferay Portal 4 - Customization Guide. Joseph Shum Alexander Chow Jorge Ferrer

Liferay Portal 4 - Customization Guide. Joseph Shum Alexander Chow Jorge Ferrer Liferay Portal 4 - Customization Guide Joseph Shum Alexander Chow Jorge Ferrer Liferay Portal 4 - Customization Guide Joseph Shum Alexander Chow Jorge Ferrer 1.0 Copyright 2000, 2007 Liferay Inc. Table

More information

Table of Contents. Introduction... xxi

Table of Contents. Introduction... xxi Introduction... xxi Chapter 1: Getting Started with Web Applications in Java... 1 Introduction to Web Applications... 2 Benefits of Web Applications... 5 Technologies used in Web Applications... 5 Describing

More information

Introducing Apache Tomcat 7

Introducing Apache Tomcat 7 Chicago, October 19-22, 2010 Introducing Apache Tomcat 7 Mark Thomas - SpringSource Agenda Introduction Overview Servlet 3.0 JSP 2.2 EL 2.2 Other new features Current status Useful resources Questions

More information

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 Developing Enterprise Applications with J2EE Enterprise Technologies Developing Enterprise Applications with J2EE Enterprise Technologies J2EE - Version: 25 5 days Course Description:

More information

JBoss SOAP Web Services User Guide. Version: M5

JBoss SOAP Web Services User Guide. Version: M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

Liferay Security Features Overview. How Liferay Approaches Security

Liferay Security Features Overview. How Liferay Approaches Security Liferay Security Features Overview How Liferay Approaches Security Table of Contents Executive Summary.......................................... 1 Transport Security............................................

More information

<Insert Picture Here> The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements

<Insert Picture Here> The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements 1 The Latest E-Business Suite R12.x OA Framework Rich User Interface Enhancements Padmaprabodh Ambale, Gustavo Jimenez Applications Technology Group The following is intended to outline

More information

OpenProject AdminGuide

OpenProject AdminGuide OpenProject AdminGuide I. Contents I. Contents... 1 II. List of figures... 2 1 Administration... 2 1.1 Manage projects...2 1.2 Manage users...5 1.3 Manage groups...11 1.4 Manage roles and permissions...13

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

More information

Liferay Exam LRP-614 Portal Developer Version: 6.0 [ Total Questions: 144 ]

Liferay Exam LRP-614 Portal Developer Version: 6.0 [ Total Questions: 144 ] s@lm@n Liferay Exam LRP-614 Portal Developer Version: 6.0 [ Total Questions: 144 ] Question No : 1 The method to define a column in a layout template is: A. $layout.createcolumn() B. $layout.definecolumn()

More information

LTBP INDUSTRIAL TRAINING INSTITUTE

LTBP INDUSTRIAL TRAINING INSTITUTE Java SE Introduction to Java JDK JRE Discussion of Java features and OOPS Concepts Installation of Netbeans IDE Datatypes primitive data types non-primitive data types Variable declaration Operators Control

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java. [Course Overview] The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They are used in all classes of Java programming,

More information

JVA-563. Developing RESTful Services in Java

JVA-563. Developing RESTful Services in Java JVA-563. Developing RESTful Services in Java Version 2.0.1 This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We develop

More information

STARCOUNTER. Technical Overview

STARCOUNTER. Technical Overview STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array Introduction to PHP Evaluation of Php Basic Syntax Defining variable and constant Php Data type Operator and Expression Handling Html Form With Php Capturing Form Data Dealing with Multi-value filed Generating

More information

Specialized - Mastering JEE 7 Web Application Development

Specialized - Mastering JEE 7 Web Application Development Specialized - Mastering JEE 7 Web Application Development Code: Lengt h: URL: TT5100- JEE7 5 days View Online Mastering JEE 7 Web Application Development is a five-day hands-on JEE / Java EE training course

More information

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2 HYPERION SYSTEM 9 BI+ APPLICATION BUILDER J2EE RELEASE 9.2 GETTING STARTED GUIDE Copyright 1998-2006 Hyperion Solutions Corporation. All rights reserved. Hyperion, the Hyperion H logo, and Hyperion s product

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3

More information

Liferay Digital Experience Platform. New Features Summary

Liferay Digital Experience Platform. New Features Summary Liferay Digital Experience Platform New Features Summary Liferay has redesigned its platform with new functionality in Liferay Digital Experience Platform (DXP). The following is a summary of the key new

More information

Vendor: Liferay. Exam Code: LRP-614. Exam Name: Liferay Certified Professional Developer. Version: Demo

Vendor: Liferay. Exam Code: LRP-614. Exam Name: Liferay Certified Professional Developer. Version: Demo Vendor: Liferay Exam Code: LRP-614 Exam Name: Liferay Certified Professional Developer Version: Demo QUESTION 1 The method to define a column in a layout template is: A. $layout.createcolumn() B. $layout.definecolumn()

More information

Restful Application Development

Restful Application Development Restful Application Development Instructor Welcome Currently a consultant in my own business and splitting my time between training and consulting. Rob Gance Assist clients to incorporate Web 2.0 technologies

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

Coveo Platform 6.5. Liferay Connector Guide

Coveo Platform 6.5. Liferay Connector Guide Coveo Platform 6.5 Liferay Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing market

More information

Overview

Overview HTML4 & HTML5 Overview Basic Tags Elements Attributes Formatting Phrase Tags Meta Tags Comments Examples / Demos : Text Examples Headings Examples Links Examples Images Examples Lists Examples Tables Examples

More information

Adobe ColdFusion (2016 release)

Adobe ColdFusion (2016 release) Adobe (2016 release) Feature improvement history Features included in each edition of Adobe API Manager API monitoring API version and lifecycle management API access control API rate limiting and throttling

More information

Unit 5 JSP (Java Server Pages)

Unit 5 JSP (Java Server Pages) Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic, platform-independent method for building Web-based applications. It focuses more on presentation logic

More information

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal

Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal Enriching Portal user experience using Dojo toolkit support in IBM Rational Application Developer v8 for IBM WebSphere Portal Summary: Learn how to create Portlet applications for Websphere Portal for

More information

EBS goes social - The Triumvirate Liferay, Application Express and EBS

EBS goes social - The Triumvirate Liferay, Application Express and EBS EBS goes social - The Triumvirate Liferay, Application Express and EBS Michael Pergande, PROMATIS software GmbH DOAG 2011 Applications, Berlin, May 3rd, 2011 1 Agenda Introduction Motivation, Scenarios

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER J2EE CURRICULUM Mob : +91-9024222000 Mob : +91-8561925707 Email : info@dvswebinfotech.com Email : hr@dvswebinfotech.com 48, Sultan Nagar,Near Under

More information

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline

Call: Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Core&Advanced Java Springframeworks Course Content:35-40hours Course Outline Object-Oriented Programming (OOP) concepts Introduction Abstraction Encapsulation Inheritance Polymorphism Getting started with

More information

08/10/2018. Istanbul Now Platform User Interface

08/10/2018. Istanbul Now Platform User Interface 08/10/2018 Contents Contents...5 UI16... 9 Comparison of UI16 and UI15 styles... 11 Activate UI16... 15 Switch between UI16 and UI15...15 UI16 application navigator... 16 System settings for the user

More information

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6

1 CUSTOM TAG FUNDAMENTALS PREFACE... xiii. ACKNOWLEDGMENTS... xix. Using Custom Tags The JSP File 5. Defining Custom Tags The TLD 6 PREFACE........................... xiii ACKNOWLEDGMENTS................... xix 1 CUSTOM TAG FUNDAMENTALS.............. 2 Using Custom Tags The JSP File 5 Defining Custom Tags The TLD 6 Implementing Custom

More information

WSRP Web Services for Remote Portlets

WSRP Web Services for Remote Portlets WSRP Web Services for Remote Portlets Dave Landers WebLogic Portal Architect BEA Systems, Inc. Session Goals Basic WSRP description Outline of protocol Why / when WSRP is useful Developer best practices

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

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

EBS goes social - The triumvirate Liferay, Application Express and EBS

EBS goes social - The triumvirate Liferay, Application Express and EBS EBS goes social - The triumvirate Liferay, Application Express and EBS Keywords: EBS, Portals, Application Express, Integration Overview Michael Pergande PROMATIS software GmbH Ettlingen As part of Oracle

More information

Extending JON 2.3 Use cases

Extending JON 2.3 Use cases Extending JON 2.3 Use cases Presenter JBoss Senior Solution Architect, Red Hat May 2010 04/30/10 1 Agenda How does JON help you JON in different scenarios 2 New JBoss project Migration project JON at different

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

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

Courses For Event Java Advanced Summer Training 2018

Courses For Event Java Advanced Summer Training 2018 Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part

More information

ADVANCED JAVA COURSE CURRICULUM

ADVANCED JAVA COURSE CURRICULUM ADVANCED JAVA COURSE CURRICULUM Index of Advanced Java Course Content : 1. Basics of Servlet 2. ServletRequest 3. Servlet Collaboration 4. ServletConfig 5. ServletContext 6. Attribute 7. Session Tracking

More information

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes

More information

UNIT I Java Bean, HTML & Javascript

UNIT I Java Bean, HTML & Javascript SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road 517583 QUESTION BANK (DESCRIPTIVE) Subject with Code : Web Technologies (16MC820) Year & Sem: II-MCA & II-Sem Course & Branch:

More information

Contents at a Glance. vii

Contents at a Glance. vii Contents at a Glance 1 Installing WebLogic Server and Using the Management Tools... 1 2 Administering WebLogic Server Instances... 47 3 Creating and Configuring WebLogic Server Domains... 101 4 Configuring

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

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES

Projects. How much new information can fit in your brain? Corporate Trainer s Profile TECHNOLOGIES Corporate Solutions Pvt. Ltd. How much new information can fit in your brain? Courses Core Java+Advanced Java+J2EE+ EJP+Struts+Hibernate+Spring Certifications SCJP, SCWD, SCBCD, J2ME Corporate Trainer

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Magnolia. Content Management Suite. Slide 1

Magnolia. Content Management Suite. Slide 1 Magnolia Content Management Suite Slide 1 Contents 1. About 2. Modules 3. Licensing 4. Features 5. Requirements 6. Concepts 7. Deployment 8. Customization Slide 2 About Magnolia Browser-based Web Authoring

More information

5.1 Registration and Configuration

5.1 Registration and Configuration 5.1 Registration and Configuration Registration and Configuration Apache Wink provides several methods for registering resources and providers. This chapter describes registration methods and Wink configuration

More information

BEAAquaLogic Enterprise Repository. etrust SiteMinder Setup and Configuration Guide

BEAAquaLogic Enterprise Repository. etrust SiteMinder Setup and Configuration Guide BEAAquaLogic Enterprise Repository etrust SiteMinder Setup and Configuration Guide Version 3.0 RP1 Document Revised: February 2008 Table of Contents Configure ALER for use with SiteMinder Authentication

More information

SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING. Intuit 2007

SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING. Intuit 2007 SOFTWARE DEVELOPMENT SERVICES WEB APPLICATION PORTAL (WAP) TRAINING Intuit 2007 I ve included this training in my portfolio because it was very technical and I worked with a SME to develop it. It demonstrates

More information