SAF manual. September 21, Overview License and copyright Requirements Getting started Credits...

Size: px
Start display at page:

Download "SAF manual. September 21, Overview License and copyright Requirements Getting started Credits..."

Transcription

1 SAF manual September 21, 2008 Contents 1 Overview License and copyright Requirements Getting started Credits Download instructions 3 3 Location server users guide Description Deployment and configuration Configuration file Location model Customization Measure types Proximity measures Geometric measures Symbolic measures Hybrid measures Measure communication format Concepts Formal syntax Example Context server users guide Description Deployment and configuration Defining inference rules Adaptation framework users guide 16 1

2 5.1 Description Adaptation library Push library RFID driver users guide 21 7 GPS driver users guide 21 8 Developers Guide MAVEN instructions Installing the package and prepare the built environment Compile the code Generate the documentation Generate the source and binary packages Note on local MAVEN repository Overview SAF (Situation Aware Framework) is the component of the NAMGIS framework responsible for detecting, integrating and processing context data, in order to support application in implementing context-aware functionalities. SAF is a Java framework composed of several components: a Location Server, responsible to acquire location data (the most relevant context data) a Context Server, responsible to integrate location data with other kinds of context data provided by the application an Adaptation Framework, responsible to provide context-aware adaptation facilities to Web applications drivers to collect location data from RFID readers and GPS receivers 1.1 License and copyright All the components of SAF are released under an GPLv3 license. SAF is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 1.2 Requirements To use the software you need a JDK 1.5 or newer installed on your machine. While SAF server code is targeted at J2SE, the framework contains also drivers targeted at mobile devices running Java J2ME CLDC 1.3.1: you need a compatible device in order to run these drivers (if you own a Pocket PC you have also the option, recommended, to use the.net version of these drivers you can find on the NAMGIS Web site). SAF project structure is based on MAVEN; in order to compile the package or change the code you need to download and configure MAVEN on your machine (see for detailed instructions). 2

3 1.3 Getting started Please refer to the following sections for information regarding SAF components: Location server users guide Context server users guide Adaptation framework users guide RFID driver users guide GPS driver users guide If you want to compile the code or extend the tool, please refer to the developer guide. 1.4 Credits SAF is the result of the research work carried out at CEFRIEL in the context of MAIS Italian research project (Firb) and subsequently while supporting the group at Dipartimento di Geomatica of Politecnico di Milano in the context of the ArcheoMedSat Italian research project. 2 Download instructions SAF source code and binaries can be downloaded together with other NAMGIS components from the Web site of Laboratorio of Geomatica at Politecnico di Milano: SAF is distributed as several packages: an all-inclusive source package, containing the source code for all SAF components; download this package if you need the source code or if you want to compile the components on your own. a location server binary package, containing the compiled binaries of the location server; download this package if you just want to configure and run a location server on your machine. a context server binary package, containing a ready to start binary distribution of the context server. an adaptation library binary package, containing the JARS of the WEB-ECA (and of the Pusher) framework that you can use to build your context-aware Web application. an RFID driver binary package, containing the Java application you can use to drive an RFID reader on a Pocket PC device, in order to collect proximity measures and send them to a location server. a GPS driver binary package, containing the Java application you can use to drive a GPS receiver on a Pocket PC device, in order to collect geometric measures and send them to a location server. The source package includes also local MAVEN repository (/mvnrepo) containing JAR files for the Java JTA library, the Pushlet, the RXTX serial port Java driver and for the Prevayler persistence library; these packages were not available on public MAVEN repositories at the time SAF packages were built. Finally a note regarding the RFID and GPS drivers. These applications have been written in Java so they should run on every platform that supports at least Java J2ME CLCD 1.3 or greater; however, the serial port driver (we use RXTX) is platform specific and this is the reason we provide these binary packages only for the Pocket PC platform. You can however use these applications with other platforms, provided you replace the shipped RXTX JARS with the ones compatible with the target platform. 3

4 3 Location server users guide The location server is the component responsible to acquire raw location data from sensors and produce estimates of current users positions. 3.1 Description The location server component is realized as a standalone Java server application, which listens for incoming measures and process them according to a pipes & filters approach. The location server collects raw location measures from sensors using sensor drivers (which are usually standalone processes that sends stream of measures to the server). The location server processes these measures by means of a pipeline and collect the estimates of users positions which are then made available to external processes. Internally, the location server adopts a module approach and allows several modules to be arranged to form a pipeline where measures are acquired and processed. Three types of modules build this pipeline: source modules; a source is in charge to collect measure from external sources (usually by interacting with a sensor driver). filter modules; a filter is in charge to process a stream of measures coming from sources and other filters; during this processing a filter can change the measure, translate it or perform whatever operation that takes the measure as an input. output modules an output module can act on a stream of processed measures; these modules are used to keep track of computed users positions and to make them available to external applications. 3.2 Deployment and configuration The binary packages contains all the files needed to execute a location server on your machine. You have simply to download and extract the package on a folder on your system, and then follow these instructions: Create the user and the databases needed by the location server. Using the PostgreSQL client, you have to: create a user saf with password saf ; create a location database using the postgis template (we suggest the name saf-location, but you can change it freely), then execute the script create db.sql to initialize the tables. create an ips database using template0 (we suggest the name saf-ips, but you can change it freely), then execute the script create ips db.sql to initialize the tables. Define and load a location model into the server. A location model is an XML file listing the symbolic locations, objects and connections that constitute the environemnt of interest, together with their relationships and geographical perimeters. Please refer to the location model section for more details. Import the location model using the import script: import <full_path_to_model_file> Configure the location server, by editing the file /conf/location-server.xml Please refer to the template location-server.xml included in the binary package for more details on this process. Start the location server, by running the run script in the /bin folder: run.bat 4

5 3.3 Configuration file The following box shows the structure of the configuration file used by the location server with instructions on how to edit it. You can file this template in the binary package; you have to edit it before launching the location server. <?xml version="1.0" encoding="utf-8"?> This is the configuration file of the location server. Please edit this file following the instructions given inline before starting the server. <locationserver xmlns=" xmlns:xsi=" xsi:schemalocation=" xsd-non-originale.xsd" name="location Server" udpdiscoveryport="12000" rmiregistryport="12001"> The properties here defined are available to every module configured in the system. <property name="sample_property">value_of_sample_property</property> Edit the following section with the correct connection settings of the location database. <locationmodel> <datasource driverclassname="org.postgresql.driver" url="jdbc:postgresql://localhost:5432/location" username="location" password="location" sqldialect="postgresql" /> </locationmodel> Edit the following section with the correct connection settings of the user database (this could be the same location database) <userregistry> <datasource driverclassname="org.postgresql.driver" url="jdbc:postgresql://localhost:5432/nomadic-location" username="nomadic" password="nomadic" sqldialect="postgresql" /> </userregistry> This section configures the source modules for the location server. Add a source element for each source you want to configure. By default, only the NetworkCollector source is instantiated. You have to specify the source class, an identifying name, whether the source is thread safe, what to do in case of error (ignore, delayed_restart, shutdown). You can also specify custom properties which depends on the particular source instantiated. <sources> <source name="networkcollector" class="it.cefriel.location.server.modules.sources.networkcollector" threadsafe="true"> <property name="tcpport">12012</property> 5

6 <property name="udpport">12013</property> <error class="java.lang.throwable" action="delayed_restart" /> </source> </sources> This section configures the filter modules for the location server. Add a filter element for each filter you want to configure. Filter configuration is similar to source configuration, but you have also to bind filter output ports to other filters, by using the port element and the nested connectedfilter or connectedexit elements. <filters> This filter is the entry point (it uses the special name entry ) and takes every input measure and log it to a log file, then forwards them to the dispatcher filter. <filter name="entry" class="it.cefriel.location.server.modules.filters.measurelogger" threadsafe="true"> <property name="fields"> type, ts, src, cs, var, lat, long, alt, ns, nbl, npo, nc </property> <property name="filename">measures.log</property> <port name="output"> <connectedfilter name="dispatcher" /> </port> </filter> This filter dispatch incoming measures to one of the configured downstream filter, according to their type. <filter name="dispatcher" class="it.cefriel.location.server.modules.filters.measuredispatcherfilter" threadsafe="true"> <port name="geometricmeasure"> <connectedfilter name="transformer" /> </port> <port name="hybridmeasure"> <connectedfilter name="transformer" /> </port> <port name="proximitymeasure"> <connectedfilter name="ips" /> </port> </filter> The transformer filter can be used to transform incoming geometric measures from a reference system to another one. The filter applies a linear transformation defined by specifying the correspondences between three pairs of points. The following configuration specifies an identity mapping which performs no transformation at all. The resulting measures are finally forwarded to the gps filter. <filter name="transformer" 6

7 class="it.cefriel.location.server.modules.filters.lineartransformer" threadsafe="true"> <property name="input0">[0.0, 0.0]</property> <property name="output0">[0.0, 0.0]</property> <property name="input1">[1.0, 0.0]</property> <property name="output1">[1.0, 0.0]</property> <property name="input2">[0.0, 1.0]</property> <property name="output2">[0.0, 1.0]</property> <port name="output"> <connectedfilter name="gps" /> </port> </filter> This filter maps incoming geometric measures to symbolic locations by looking up the basic location that contains the detected coordinates from the spatial PostGIS location database. Output measures are of hybrid type (they are both geometric and symbolic) and they are forwarded to the exit point of the filter pipeline. <filter name="gps" class="it.cefriel.location.server.modules.filters.geometricfilter" threadsafe="true"> <port name="output"> <connectedexit /> </port> </filter> This is the IPS filter which interprets proximity measures according to an FSM approach. It tracks users moving in the environment and produces symbolic measures carryng the symbolic location of the user. In order to use this filter you have to create an IPS database under PostgreSQL and configure here the connection parameters. <filter name="ips" class="it.cefriel.ips.filter.ipsfilterimpl" threadsafe="true"> <property name="databasedriver">org.postgresql.driver</property> <property name="databaseurl">jdbc:postgresql://localhost:5432/ips</property> <property name="databaseusername">ips</property> <property name="databasepassword">ips</property> <property name="databasesqldialect">postgresql</property> <property name="sensorsupdatedelay">0</property> <property name="usersupdatedelay">60000</property> <error class="java.lang.throwable" action="delayed_restart" /> <port name="output"> <connectedfilter name="hybrid" /> </port> </filter> This filter takes the output of the ips filter, which are symbolic measures, and compute an estimate of the user coordinates by assigning the coordinates of a central point of the detected symbolic location. <filter name="hybrid" class="it.cefriel.location.server.modules.filters.symbolictohybridfilter" 7

8 threadsafe="true"> <port name="output"> <connectedexit /> </port> </filter> </filters> This section configures the output modules for the location server. Output modules receive the measures processed by the filters and can act on them. By default, an API output module and a GPS output module are instantiated. The first collects location estimates and provides them to remote application using the location API. The second is necessary in order to support the GPS learning procedure. <outputs> <output name="apioutput" class="it.cefriel.location.server.modules.outputs.apioutputimpl" threadsafe="true"> <error class="java.lang.throwable" action="ignore" /> </output> <output name="gpsoutput" class="it.cefriel.ops.learning.gpsoutputimpl" threadsafe="true"> <error class="java.lang.throwable" action="ignore" /> </output> Uncomment these lines for the integration with the context server <output name="contextserviceoutput" class="it.cefriel.context.ext.contextserviceoutput" threadsafe="true"> <property name="serverurl"> rmi://localhost:1099/context-service </property> <error class="java.lang.throwable" action="ignore" /> </output> </outputs> </locationserver> 3.4 Location model A location model is required in order to define the structure of the environment. The model should be loaded into the location server before it can be started the first time. 8

9 The location model. The following box shows a template location model; you can find it in the binary package. <?xml version="1.0"?> This file is an example of a location model that can be loaded into the location server. In order to use the location server you need to define and load a model beforehand. <context xmlns=" xmlns:xsi=" <environment> <locationmodel> Here you can define location categories. Each category has an ID, a name and an optional description. You have to add a locationcategory element for each desired category. <locationcategories> <locationcategory id="1" name="all-locations"> <description>generic location category</description> </locationcategory> </locationcategories> Here you can define object categories. Each category has an ID, a name and an optional description. You have to add an objectcategory element for each desired category. <objectcategories> <objectcategory id="2" name="all-objects"> <description>generic object category</description> 9

10 </objectcategory> </objectcategories> This section defines the location tree. Internal nodes are compound locations; leaf nodes are basic locations. Each node has an id, a name and an optional description. For basic location nodes you can also list the physical objects contained by the locations. <compoundlocation id="100" name="root-location" category="1"> <description>root location</description> <compoundlocation id="101" name="child-location" category="1"> <description>child location</description> <basiclocation id="102" name="leaf-location-1" category="1"> <description>first basic location</description> </basiclocation> <basiclocation id="103" name="leaf-location-2" category="1"> <description>second basic location</description> <physicalobject id="200" name="object-1" category="2"> <description>an object</description> </physicalobject> </basiclocation> </compoundlocation> </compoundlocation> This section defines the connections between basic locations. Each connection is identified by a numerical ID and have to specify the IDs of the two connected basic locations. You have to add a connection element for each connection you want to define. <connections> <connection id="300"> <connectedlocation ref="102" /> <connectedlocation ref="103" /> </connection> </connections> </locationmodel> </environment> </context> 3.5 Customization You can extend the location server component in four different ways: You can provide new drivers in order to acquire location data from new sensor devices. There are no particular requirements on the driver, apart the interface to be used to send measures to the location server. To this end, we reccomend the use of the default NetworkCollector source (class 10

11 it.cefriel.location.server.modules.sources.networkcollector), which adopts a simple TCP/IP based communication protocols. Using this source you can simply open a TCP connection and start sending a stream of measures as text data to the location server. You can however implement your own source in order to use a custom communication protocol between the driver and the location server, or in order to provide a type of measure not predefined by the system. You can provide new source modules that collect measures and feed them into the location server pipeline. To do this you need to implement the it.cefriel.location.server.modules.source interface, compile your classes, place the resulting JAR on the location server /lib folder and edit the location server configuration file in order to instantiate your new source. You can provide new filter modules to include in the location server pipeline in order to process a stream of measures (e.g. to convert from one measure to another, more higher-level one). To do this you need to implement the it.cefriel.location.server.modules.filter interface, compile your classes, put the resulting JAR in the location server /lib folder and edit the server configuration file in order to instantiate your new filter. Finally, you can provide new output modules to act on the processed stream of measures produced by the location server. This can be done by implementing interface it.cefriel.location.server.modules.source; compiled JAR should be placed in the /lib folder of the server and its configuration file should be edited in order to instantiate the module. 3.6 Measure types The following types of measures are supported by the location server. You can use them while sending sensor data to the server. You can also extend them, but in this case you will be required to provide your own modules to collect, process and act on these measures Proximity measures A proximity measure signals that a source sensor (possibly the one that produced the measures) is near to a given set of sensors (possibly empty). This measure represent the current situation of the source sensor: all the sensors listed are assumed to be near the source sensor; all the sensors not listed are assumed not to be near. Please note that this measure does not provide any indication about the actual distance between the source and the other listed sensors. The very concept of near to depends here on the particular sensor technology or application (e.g. for RFID, a reader is considered to be near to all the tags detected during a read cycle). Property Cardinality Type Description type 1 string type of measure (=measure.proximity) ts 0..1 long measure timestamp src 1 string sensor id using the format category.id ns 0..* string a detected sensor (format category.id) Geometric measures A geometric measure reports the geographical coordinates of the source sensor, according to a particular reference system defined using a string (currently only WGS84 is supported). Coordinates are latitued and longitude, which are required and expressed in degrees, and optionally the altitude, expressed in meters. The measure includes also a variance field that can be used to specify a variance computed on the basis of the latitude and longitude (this datum is not used at the moment). 11

12 Property Cardinality Type Description type 1 string type of measure (=measure.geometric) ts 0..1 long measure timestamp src 1 string sensor id using the format category.id cs 0..1 string reference system name (=WGS84) var 0..1 double the variance of the measure long 1 double the longitude in degrees lat 1 double the latitude in degrees alt 0..1 double the optional altitude in meters Symbolic measures A symbolic measure encodes the symbolic location of a source sensor. This kind of measure specifies the basic location which contains the sensor, together with the near objects and connections. For each of these the measure can report the probability on a scale Property Cardinality Type Description type 1 string type of measure (=measure.symbolic) ts 0..1 long measure timestamp src 1 string sensor id using the format category.id nbl 0..* string a basic location, in the format code:probability npo 0..* string a near physical object, in the format code:probability nc 0..* string a near connection, in the format code:probability Hybrid measures An hybrid measure represents both the symbolic location and the geographical coordinates of a source sensor; this measure is thus a mix of a geometric measure and a symbolic one, and its properties are the union of the properties of these two kinds of measure (except the reference system which is assumed to be WGS84). Property Cardinality Type Description type 1 string type of measure (=measure.hybrid) ts 0..1 long measure timestamp src 1 string sensor id using the format category.id var 0..1 double the variance of the measure long 1 double the longitude in degrees lat 1 double the latitude in degrees alt 0..1 double the optional altitude in meters nbl 0..* string a basic location, in the format code:probability npo 0..* string a near physical object, in the format code:probability nc 0..* string a near connection, in the format code:probability 12

13 3.7 Measure communication format This section describes the format used to encode a stream of measures when transmitted to the location server over a TCP/IP connection. This format has been designed with interoperability in mind and can be also used to store measures on a file. This is a textual format, not based on XML because it should be used also on small devices with little CPU power Concepts The format supports the encoding of any measure that respect the following data model (encoding rules are provided in the following subsection). A measures is defined as an ordered sequence of key-value properties, where: the key represents the name of a property and it is an alphanumeric string composed of digits, letters and the dot character. a value is an arbitrary string containing no newline character (so it is constrained to be a single-line string). a key can be shared by several key-value pairs; this situation occurs for properties with multiple values; the order of these occurrences is relevant and permit to associate to the property a list of values. there is a special key type whose unique value specifies the kind of measure encoded (see the previous measure types section) Formal syntax The format allows the encoding of a generic sequence of measures whose data can be expressed according to the data model defined above. A document respecting this standard can define a list or zero or more measures, can contain comments and satisfies the following EBNF syntax: Terminals: CHARACTER := a generic character exluded \n (newline) ALPHANUMERIC := a letter or digit SPACE := the space or horizontal tab characters COMMENT := the # character COLON := the : character DOT := the. character NEWLINE := the \n character Derivation rules: document => (blank_line comment_line measure_block)* blank_line => SPACE* NEWLINE comment_line => SPACE* COMMENT CHARACTER* NEWLINE measure_block => key_value_line* NEWLINE key_value_line => SPACE* key SPACE* COLON SPACE* value NEWLINE key => ALPHANUMERIC+ (DOT ALPHANUMERIC+)* value => CHARACTER* Example Following is an example of a list of measures encoded as the textual format here specified. 13

14 # This is a comment and it will be ignored by the location server. # Please note that each measure must be terminated by an emtpy line. type: measure.proximity ts: ns: ns: src: crs: WGS84 lat: 45.1 var: 3.1 type: measure.geometric ts: src: long: 9.1 nbl: 15:0.8 type: measure.symbolic ts: src: lat: 45.0 var: 3.0 nbl: 15:0.8 type: measure.hybrid ts: src: long: Context server users guide The context server is the component responsible to collect context data from heterogeneous sources, optionally apply inference rules to derive new context data and finally make available all the collected context infromation to external applications. 4.1 Description At the basis of the context server there is a context model, that specifies which entities and properties are relevant from an application point of view. The context model is based on the abstraction of item, entity and relationship: an entity represent a physical world entity for which we require the context server to collect context information; context items are data values that represents the values of the contextual properties of interest for applications; relationships bind entities to context items or other entities and represents the contextual properties managed by the server. The context model should be defined in terms of a set of classes, implementing the it.cefriel.context.contextentity, it.cefriel.context.contextitem and it.cefriel.context.contextrelationship interfaces. A base context model is included in the framework under the it.cefriel.context.model package. You can extend it by declaring new context sources. 14

15 The context server exposes an API that can be used by external application to send and query for context information about entities. The API is implemented in the context-api module and JAR. Applications should import the API Jar, specify the network address of the context server to connect to and start to send context data; they can also use the API to query for context data, or to register listeners which are notified when an update in the context of an entity occurs. For more information about the API please refer to the Javadoc documentation. 4.2 Deployment and configuration The context server binary package includes all the files needed to run a context server on your machine. Simply extract the content of the binary package to a path of your choice and launch the server using the run script in the /bin folder: run.bat You can stop the server by simply terminating the program (under Windows, select his window and press CTRL-C). Context data collected by the server is persistent and it is stored under the /data folder. This data is recovered when you restart the server. In order to delete it, simply run the clear script located under the /bin folder: clear.bat 4.3 Defining inference rules The context server supports the definition of inference rules that can derive new context information starting from collected context data. These rules are executed by the rule engine Drools and are located under the /rules folder. We refer the reader to the Drools documentation for more information about the syntax of rules. Please note that a rule condition and body consists of simple Java code which has access to a contextservice predefined variable that provides access to the context API in order for rules to query and manipulate context information. Following is an example of rules (included in the binary package): 15

16 <rule name="activity_1" salience="10" no-loop="true"> <parameter identifier="user"> <class>user</class> </parameter> <java:condition>!user.getcontext().getrelateditems(usertophysicalobject.class).isempty() </java:condition> <java:consequence> log.info("rule FIRED: user " + user + " is working."); contextservice.updatecontext(user, new UserToActivity(), new Activity("not working")); </java:consequence> </rule> <rule name="activity_2" salience="10" no-loop="true"> <parameter identifier="user"> <class>user</class> </parameter> <java:condition> user.getcontext().getrelateditems(usertophysicalobject.class).isempty() </java:condition> <java:consequence> log.info("rule FIRED: user " + user + " is not working."); contextservice.updatecontext(user, new UserToActivity(), new Activity("not working")); </java:consequence> </rule> 5 Adaptation framework users guide The adaptation framework is the component of the SAF framewor supporting the adaptation to context of regular Web applications, according to a rule based approach. 5.1 Description The adaptation framework binary packages includes two libraries: WEB-ECA is the adaptation library; Pusher is a utility library providing the push functionality, that is the capability for a web server to push pages to browser (instead of waiting for a browser to request them). In order to use these libraries you simply have to place all the JAR files included in the adaptation framework binary package on your Web application /WEB-INF/lib folder. Following we describe the two libraries in more details. 5.2 Adaptation library The WEB-ECA adaptation library is based on the notion of lever. A lever represents a possible means to influence the behaviour and presentation of a Web application. The framework takes care of assigning 16

17 the values of these levers according to an Event-Condition-Action rule-based approach. The Web application then needs to react on changes of these levers and adapts its presentation, by means of the so-called application managers. The definition of the levers and of the associated application managers is carried out using the web-eca.xml configuration file. Here we report a template of this file with comments that provide instructions on its writing. <?xml version="1.0" encoding="utf-8"?> WEB ECA framework configuration <web-eca xmlns=" xmlns:xi=" xmlns:xsi=" xsi:schemalocation=" web-eca.xsd"> Component definition. This sections defines the component used by the framework, that is the rule manager (you can use the pre-configured BeanRuleManager); the application manager (currently we use the HarmoniaManager, an application manager designed for the Harmonia CMS system) and the pusher manager (you can leave the pre-configured PusherManager) <components> <rulemanager name="rule_manager" class="it.cefriel.webeca.beanrules.beanrulemanager"> <property name="rulebase"> WEB-INF/web-eca.beanrules.xml </property> </rulemanager> <applicationmanager name="harmonia_manager" class="it.cefriel.webeca.harmonia.harmoniamanager"> <property name="prop1">value1</property> </applicationmanager> <pushmanager name="push_manager" class="it.cefriel.webeca.pusher.pushermanager"> </pushmanager> </components> Lever definition. This section defines the adaptation levers. Each lever is identified by a name, a type (by means of a Java class) and whether its value should be persistent or cause a page refresh when updated. Levers can be nested to form a parent-child hierarchy. A child lever contains a derivation element that specifies how to derive the lever value starting from the parent lever value. Note that for each leaf lever a responsible application handler should be designed using the handler element. The following levers are specific to the Harmonia CMS platform. You can override or add new levers provided you provide appropriate application managers that handle their values. <levers> <lever name="presentation" class="java.lang.string" immediate="false" persistent="false"> 17

18 <lever name="webcss" class="java.lang.string" immediate="false" persistent="false"> <derivation> <script language="java"> <![CDATA[ if ("A".equals(presentation)) return "blue.css"; if ("B".equals(presentation)) return "orange.css"; return "default.css"; ]]> </script> </derivation> <handler name="harmonia_manager" /> </lever> <lever name="handheldcss" class="java.lang.string" immediate="false" persistent="false"> <derivation> <choice> <when parent="a" value="blue.css" /> <when parent="b" value="arancio.css" /> <default value="default.css" /> </choice> </derivation> <handler name="harmonia_manager" /> </lever> <lever name="printcss" class="java.lang.string" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> <lever name="fontfamily" class="java.lang.string" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> <lever name="fontsize" class="int" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> </lever> <lever name="content" class="java.lang.string" immediate="true" persistent="false"> <handler name="harmonia_manager" /> </lever> <lever name="layout" class="int" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> 18

19 <lever name="liquid" class="boolean" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> <lever name="simplified" class="boolean" immediate="false" persistent="false"> <handler name="harmonia_manager" /> </lever> </levers> </web-eca> As said, levers are assigned using an ECA rule-based approach. The framework listens for events and updates on beans stored in the application, session and request scopes. These events (E) can cause one or more rules to be evaluated and, if optional conditions (C) are satisfied, an action (A) is performed that consists in the assignment of one or more levers. ECA rules are defined in a specific web-eca.beanrules.xml file. Here we report an example of this file, providing also instructions about its editing. Note that both this file and the web-eca.xml file should be placed under the /WEB-INF folder of your Web application. <?xml version="1.0" encoding="iso "?> Adaptation rules <beanrules xmlns=" xmlns:xi=" xmlns:xsi=" defaultlanguage="java"> Imported packages This section declares all the Java packages that should be imported and made available to Java code inside rules. <import package="it.cefriel.util" /> <import package="java.util" /> <import package="java.lang" /> <import package="it.cefriel.context.model" /> This rule update the page when the contextchanges event on a User bean is intercepted. The behaviour is the following: the rules applies to every session that has a bean of type User called "user". The framework register a listener for the event set "context" (i.e. it uses the addcontextlistener method) and react to the invocation of the contextchanged method on this listener. When this method is invoked, the framework will update the page because the attribute immediate is set to true. This rule applies to every page in the site (the url pattern is a double asterisk, which means every path) <rule name="page refresh on context change" urlpattern="**" priority="100" immediate="true"> <bean identifier="myuser" class="user" name="user" scope="session"> </bean> 19

20 <event identifier="e" sourcebean="myuser" eventset="context" listenermethod="contextchanged"> </event> </rule> This rule update the webcss lever when the user enters a location with code less than 1000 (we assume that such locations corresponds to outdoor locations that need an high-contrast yellow-on-black look&feel). Note the condition, that says "react only when the following condition holds" and the action element, which says "if the rule applies, the assign to this lever the value computed by the script nested in the action element. <rule name="high contrast" urlpattern="**" priority="150" immediate="true"> <bean identifier="myuser" class="user" name="user" scope="session"> </bean> <condition name="condition1"> <script language="java"> <![CDATA[ processingrequest && myuser.getexactlocation()!=null && myuser.getexactlocation().getcode()<1000 ]]> </script> </condition> <action lever="webcss"> <script>"yellow-onblack.css"</script> </action> </rule> </beanrules> 5.3 Push library The push library allows a Web server to push a certain page to the browser. This means that it is not the user to choose the page to visit but the server. The push mechanism is used by the WEB-ECA adaptation library and it is quite cumbersome to implement on HTTP. Therefore, several push methods are provided by the pusher library and the push.xml configuration file allows users to decide which methods should be used according also to the particular user agent used by the client (this because mobile browsers may require particularly simple push methods due to their reduced capabilities). Following we report an example of the push file. You are not required to edit it (unless you want to implement your own push method or to change the configuration). However, you have to place this file under the /WEB-INF/classes folder in order for the framework to read it. <?xml version="1.0" encoding="utf-8"?> Push framework configuration <push xmlns=" xmlns:xsi=" 20

21 <method name="polling" class="it.cefriel.pusher.methods.polling.pollingmethod"> <property name="pollinterval">3000</property> </method> <method name="framepolling" class="it.cefriel.pusher.methods.framepolling.framepollingmethod <property name="pollinterval">3000</property> <property name="title">context-aware application</property> </method> <browser name="msie" useragent="*msie*" method="framepolling"/> <browser name="firefox" useragent="*mozilla*" method="framepolling"/> </push> 6 RFID driver users guide The RFID driver is a standalone Java applications running on a Pocket PC device that connects to a portable RFID reader and sends a stream of proximity measures (i.e. the list of tags detected by the RFID reader) to a remote location server. The RFID driver here described is the Java version of the driver. As part of SAF we provide also a.net version of both the GPS and RFID drivers. We suggest the use of the.net version of the drivers because they are more stable and, most of all, they do not require the installation of a portable JVM on the device. If you still prefer to use this Java driver, you have to copy the content of the binary package on a folder of portable device and ensure you have installed a portable JVM, such as the J9 JVM by IBM. Then edit the driver.conf file and set the address and the port of the location server. Finally launch the driver using the driver.bat script (use a console to launch the driver). 7 GPS driver users guide The GPS driver is a standalone Java applications running on a Pocket PC device that connects to a portable GPS receiver and sends a stream of geometric measures (latitude, longitude) to a remote location server. The GPS driver here described is the Java version of the driver. As part of SAF we provide also a.net version of both the GPS and RFID drivers. We suggest the use of the.net version of the drivers because they are more stable and, most of all, they do not require the installation of a portable JVM on the device. If you still prefer to use this Java driver, you have to copy the content of the binary package on a folder of portable device and ensure you have installed a portable JVM, such as the J9 JVM by IBM. Then edit the driver.conf file and set the address and the port of the location server. Finally launch the driver using the driver.bat script (use a console to launch the driver). 8 Developers Guide SAF is developed using MAVEN ( You need a basic understanding of MAVEN in order to compile the code and generate the documentation. 8.1 MAVEN instructions In the following we gave a brief overview of the main commands to work with the source package. All the instructions refer to Windows: while it should be possible to develop and compile the code under Linux, 21

22 we never tested it so we cannot guarantee that it works out of the box Installing the package and prepare the built environment Unzip the package where you prefer on your file system. Open a command prompt and enter the following command: mvn -v This should display the version of MAVEN currently installed. Please check have at least MAVEN 2.0.8, otherwise please update your installation. It would be also helpful to allocate more memory to MAVEN for its execution: to this end, define the following environment variable (go under control panel system): MAVEN_OPTS = -Xms128m -Xmx256m Now you should be ready to compile the code Compile the code From the command line, move to the root directory of the source package and execute the following command: mvn package -Dmaven.test.skip This tells MAVEN to compile the code and generate the resulting JARs. If everything works you should see a BUILD SUCCESSFUL message at the end Generate the documentation Launch the following two commands from the prompt: mvn install -Dmaven.test.skip mvn site -Dmaven.test.skip mvn site:deploy The first deploys the generated JAR files to the local MAVEN repository (this is required by the site phase). The second generates the HTML documentation from the APT sources (a MAVEN format, used to write these pages) and generates also all the configured MAVEN reports (including Javadocs). The third deploys the generated documentation under the /docs folder under the package (you can change the pom.xml to deploy to a different location / Web site). In order to generate the PDF manual, the Doxia MAVEN plugin has been configured to translate part of the documentation into Latex. You need to create the site, then manually enter folder /target/doxia/latex/manual, open manual.tex, change the document type from book to article (remove also the /chapter instruction) and then compile the document using Latex Generate the source and binary packages From the command prompt, execute the following: mvn assembly:assembly -Dmaven.test.skip MAVEN will generate two zip files for the source and the binary packages, under the /target folder. These files are exactly the packages published on the web site. Please update the assembly.xml descriptors under /src/main/assemblies subfolders if you wish to customize the generated packages. 22

23 8.2 Note on local MAVEN repository This package includes a local MAVEN repository (/mvnrepo)containing JAR files for the Java JTA library, the Pushlet, the RXTX serial port Java driver and for the Prevayler persistence library; these packages were not available on public MAVEN repositories at the time SAF packages were built. 23

NAMGIS Core manual. September 21, 2008

NAMGIS Core manual. September 21, 2008 NAMGIS Core manual September 21, 2008 Contents 1 Overview 1 1.1 Description.......................................... 2 1.2 License and copyright..................................... 3 1.3 Requirements.........................................

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

CHAPTER 6. Java Project Configuration

CHAPTER 6. Java Project Configuration CHAPTER 6 Java Project Configuration Eclipse includes features such as Content Assist and code templates that enhance rapid development and others that accelerate your navigation and learning of unfamiliar

More information

Web Application Architecture (based J2EE 1.4 Tutorial)

Web Application Architecture (based J2EE 1.4 Tutorial) Web Application Architecture (based J2EE 1.4 Tutorial) Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Web application, components and container

More information

Platform SDK Deployment Guide. Platform SDK 8.1.2

Platform SDK Deployment Guide. Platform SDK 8.1.2 Platform SDK Deployment Guide Platform SDK 8.1.2 1/1/2018 Table of Contents Overview 3 New in this Release 4 Planning Your Platform SDK Deployment 6 Installing Platform SDK 8 Verifying Deployment 10 Overview

More information

Red Hat JBoss Web Server 3.1

Red Hat JBoss Web Server 3.1 Red Hat JBoss Web Server 3.1 Red Hat JBoss Web Server for OpenShift Installing and using Red Hat JBoss Web Server for OpenShift Last Updated: 2018-03-05 Red Hat JBoss Web Server 3.1 Red Hat JBoss Web

More information

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes

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

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

BEAWebLogic RFID. Edge Server. Using the Administration Console

BEAWebLogic RFID. Edge Server. Using the Administration Console BEAWebLogic RFID Edge Server Using the Administration Console Version 2.1 Revised: June 29, 2006 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

WA2031 WebSphere Application Server 8.0 Administration on Windows. Student Labs. Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc.

WA2031 WebSphere Application Server 8.0 Administration on Windows. Student Labs. Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc. WA2031 WebSphere Application Server 8.0 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4

More information

Tivoli Application Dependency Discovery Manager Version 7.3. Discovery Library Adapter Developer's Guide IBM

Tivoli Application Dependency Discovery Manager Version 7.3. Discovery Library Adapter Developer's Guide IBM Tivoli Application Dependency Discovery Manager Version 7.3 Discovery Library Adapter Developer's Guide IBM Tivoli Application Dependency Discovery Manager Version 7.3 Discovery Library Adapter Developer's

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

MAVEN INTERVIEW QUESTIONS

MAVEN INTERVIEW QUESTIONS MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get

More information

BEAAquaLogic. Service Bus. MQ Transport User Guide

BEAAquaLogic. Service Bus. MQ Transport User Guide BEAAquaLogic Service Bus MQ Transport User Guide Version: 3.0 Revised: February 2008 Contents Introduction to the MQ Transport Messaging Patterns......................................................

More information

BEAAquaLogic. Service Bus. Native MQ Transport User Guide

BEAAquaLogic. Service Bus. Native MQ Transport User Guide BEAAquaLogic Service Bus Native MQ Transport User Guide Version: 2.6 RP1 Revised: November 2007 Contents Introduction to the Native MQ Transport Advantages of Using the Native MQ Transport................................

More information

ThingWorx Relational Databases Connectors Extension User Guide

ThingWorx Relational Databases Connectors Extension User Guide ThingWorx Relational Databases Connectors Extension User Guide Version 1.0 Software Change Log... 2 Introduction and Installation... 2 About the Relational Databases Connectors Extension... 2 Installing

More information

CA IdentityMinder. Glossary

CA IdentityMinder. Glossary CA IdentityMinder Glossary 12.6.3 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is for your informational

More information

Agent Interaction SDK Java Developer Guide. About the Code Examples

Agent Interaction SDK Java Developer Guide. About the Code Examples Agent Interaction SDK Java Developer Guide About the Code Examples 2/25/2018 Contents 1 About the Code Examples 1.1 Setup for Development 1.2 Application Development Design 1.3 Application Essentials Agent

More information

web.xml Deployment Descriptor Elements

web.xml Deployment Descriptor Elements APPENDIX A web.xml Deployment Descriptor s The following sections describe the deployment descriptor elements defined in the web.xml schema under the root element . With Java EE annotations, the

More information

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.

Developing and Deploying vsphere Solutions, vservices, and ESX Agents. 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6. Developing and Deploying vsphere Solutions, vservices, and ESX Agents 17 APR 2018 vsphere Web Services SDK 6.7 vcenter Server 6.7 VMware ESXi 6.7 You can find the most up-to-date technical documentation

More information

2013 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

2013 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Introduction... 3 What are Business Rules?... 3 What is a Corticon Decision Service?... 4 What is the Corticon Business Rules Server?... 4 What is Progress Rollbase?... 4 Installation and setup... 5 Install

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

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

IBM WebSphere Java Batch Lab

IBM WebSphere Java Batch Lab IBM WebSphere Java Batch Lab What are we going to do? First we are going to set up a development environment on your workstation. Download and install Eclipse IBM WebSphere Developer Tools IBM Liberty

More information

I Got My Mojo Workin'

I Got My Mojo Workin' I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and

More information

Workspace Administrator Help File

Workspace Administrator Help File Workspace Administrator Help File Table of Contents HotDocs Workspace Help File... 1 Getting Started with Workspace... 3 What is HotDocs Workspace?... 3 Getting Started with Workspace... 3 To access Workspace...

More information

Tzunami Deployer Lotus Notes Exporter Guide

Tzunami Deployer Lotus Notes Exporter Guide Tzunami Deployer Lotus Notes Exporter Guide Version 2.5 Copyright 2010. Tzunami Inc. All rights reserved. All intellectual property rights in this publication are owned by Tzunami, Inc. and protected by

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

Novell Operations Center

Novell Operations Center AUTHORIZED DOCUMENTATION Dashboard Guide Novell Operations Center 5.0 September 30, 2011 www.novell.com Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or

More information

Application prerequisites

Application prerequisites How to start developing Spark applications in Eclipse By Marko Bonaći In this article, you will learn to write Spark applications using Eclipse, the most widely used development environment for JVM-based

More information

As you learned in Chapter 1, the architectural variations you can construct using

As you learned in Chapter 1, the architectural variations you can construct using 2 Installation and Configuration Overview As you learned in Chapter 1, the architectural variations you can construct using WebSphere Application Server V6 range from the very simple to the fairly complex.

More information

Ubiquity Server Manual

Ubiquity Server Manual Ubiquity Server Manual Compatible with version 9.0 Introduction Ubiquity is the ASEM software solution for remote access and remote assistance on Industrial PCs and operator panels based on Windows operating

More information

Sample Spark Web-App. Overview. Prerequisites

Sample Spark Web-App. Overview. Prerequisites Sample Spark Web-App Overview Follow along with these instructions using the sample Guessing Game project provided to you. This guide will walk you through setting up your workspace, compiling and running

More information

Enhydra 6.2 Application Architecture. Tanja Jovanovic

Enhydra 6.2 Application Architecture. Tanja Jovanovic Enhydra 6.2 Application Architecture Tanja Jovanovic Table of Contents 1.Introduction...1 2. The Application Object... 2 3. The Presentation Object... 4 4. Writing Presentation Objects with XMLC... 6 5.

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

Developing Plug-Ins with VMware vcenter Orchestrator

Developing Plug-Ins with VMware vcenter Orchestrator Developing Plug-Ins with VMware vcenter Orchestrator vcenter Orchestrator 5.5 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Configure IBM Urban Code Deploy to manage Workload Automation for z/os objects By Maria Elena Massino

Configure IBM Urban Code Deploy to manage Workload Automation for z/os objects By Maria Elena Massino Configure IBM Urban Code Deploy to manage Workload Automation for z/os objects By Maria Elena Massino In this article I will show you step-by-step how to configure IBM UrbanCode Deploy with Workload Automation

More information

Quick KVM 1.1. User s Guide. ClearCube Technology, Inc.

Quick KVM 1.1. User s Guide. ClearCube Technology, Inc. Quick KVM 1.1 User s Guide ClearCube Technology, Inc. Copyright 2005, ClearCube Technology, Inc. All rights reserved. Under copyright laws, this publication may not be reproduced or transmitted in any

More information

Directory structure and development environment set up

Directory structure and development environment set up Directory structure and development environment set up 1. Install ANT: Download & unzip (or untar) the ant zip file - jakarta-ant-1.5.1-bin.zip to a directory say ANT_HOME (any directory is fine) Add the

More information

M359 Block5 - Lecture12 Eng/ Waleed Omar

M359 Block5 - Lecture12 Eng/ Waleed Omar Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying

More information

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express BEAWebLogic Server Introduction to BEA WebLogic Server and BEA WebLogic Express Version 10.0 Revised: March, 2007 Contents 1. Introduction to BEA WebLogic Server and BEA WebLogic Express The WebLogic

More information

Setting up a Maven Project

Setting up a Maven Project Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were

More information

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

Developing and Deploying vsphere Solutions, vservices, and ESX Agents Developing and Deploying vsphere Solutions, vservices, and ESX Agents Modified on 27 JUL 2017 vsphere Web Services SDK 6.5 vcenter Server 6.5 VMware ESXi 6.5 Developing and Deploying vsphere Solutions,

More information

Creating Domain Templates Using the Domain Template Builder 11g Release 1 (10.3.6)

Creating Domain Templates Using the Domain Template Builder 11g Release 1 (10.3.6) [1]Oracle Fusion Middleware Creating Domain Templates Using the Domain Template Builder 11g Release 1 (10.3.6) E14139-06 April 2015 This document describes how to use the Domain Template Builder to create

More information

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2

Topics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2 Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management

More information

model (ontology) and every DRS and CMS server has a well-known address (IP and port).

model (ontology) and every DRS and CMS server has a well-known address (IP and port). 7 Implementation In this chapter we describe the Decentralized Reasoning Service (DRS), a prototype service implementation that performs the cooperative reasoning process presented before. We present also

More information

Red Hat JBoss Enterprise Application Platform 7.2

Red Hat JBoss Enterprise Application Platform 7.2 Red Hat JBoss Enterprise Application Platform 7.2 Patching and Upgrading Guide For Use with Red Hat JBoss Enterprise Application Platform 7.2 Last Updated: 2018-11-29 Red Hat JBoss Enterprise Application

More information

ActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015

ActiveSpaces Transactions. Quick Start Guide. Software Release Published May 25, 2015 ActiveSpaces Transactions Quick Start Guide Software Release 2.5.0 Published May 25, 2015 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED

More information

Setting Up the Development Environment

Setting Up the Development Environment CHAPTER 5 Setting Up the Development Environment This chapter tells you how to prepare your development environment for building a ZK Ajax web application. You should follow these steps to set up an environment

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

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

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

WAS: WebSphere Appl Server Admin Rel 6

WAS: WebSphere Appl Server Admin Rel 6 In order to learn which questions have been answered correctly: 1. Print these pages. 2. Answer the questions. 3. Send this assessment with the answers via: a. FAX to (212) 967-3498. Or b. Mail the answers

More information

X100 ARCHITECTURE REFERENCES:

X100 ARCHITECTURE REFERENCES: UNION SYSTEMS GLOBAL This guide is designed to provide you with an highlevel overview of some of the key points of the Oracle Fusion Middleware Forms Services architecture, a component of the Oracle Fusion

More information

Entrust Connector (econnector) Venafi Trust Protection Platform

Entrust Connector (econnector) Venafi Trust Protection Platform Entrust Connector (econnector) For Venafi Trust Protection Platform Installation and Configuration Guide Version 1.0.5 DATE: 17 November 2017 VERSION: 1.0.5 Copyright 2017. All rights reserved Table of

More information

Vendor: IBM. Exam Code: A Exam Name: Assessment: IBM WebSphere Appl Server ND V8.0, Core Admin. Version: Demo

Vendor: IBM. Exam Code: A Exam Name: Assessment: IBM WebSphere Appl Server ND V8.0, Core Admin. Version: Demo Vendor: IBM Exam Code: A2180-317 Exam Name: Assessment: IBM WebSphere Appl Server ND V8.0, Core Admin Version: Demo QUESTION: 1 A system administrator has successfully installed the WebSphere Application

More information

ewon Flexy JAVA J2SE Toolkit User Guide

ewon Flexy JAVA J2SE Toolkit User Guide Application User Guide ewon Flexy JAVA J2SE Toolkit User Guide AUG 072 / Rev. 1.0 This document describes how to install the JAVA development environment on your PC, how to create and how to debug a JAVA

More information

Workbench User's Guide

Workbench User's Guide IBM Initiate Workbench User's Guide Version9Release7 SC19-3167-06 IBM Initiate Workbench User's Guide Version9Release7 SC19-3167-06 Note Before using this information and the product that it supports,

More information

Continuous Integration (CI) with Jenkins

Continuous Integration (CI) with Jenkins TDDC88 Lab 5 Continuous Integration (CI) with Jenkins This lab will give you some handson experience in using continuous integration tools to automate the integration periodically and/or when members of

More information

SOA Software Intermediary for Microsoft : Install Guide

SOA Software Intermediary for Microsoft : Install Guide SOA Software Intermediary for Microsoft : Install Guide SOA Software Intermediary for Microsoft Install Guide SOAIM_60 August 2013 Copyright Copyright 2013 SOA Software, Inc. All rights reserved. Trademarks

More information

Nimsoft Monitor. websphere Guide. v1.5 series

Nimsoft Monitor. websphere Guide. v1.5 series Nimsoft Monitor websphere Guide v1.5 series Legal Notices Copyright 2012, Nimsoft Corporation Warranty The material contained in this document is provided "as is," and is subject to being changed, without

More information

CodeCharge Studio Java Deployment Guide Table of contents

CodeCharge Studio Java Deployment Guide Table of contents CodeCharge Studio Java Deployment Guide Table of contents CodeCharge Studio requirements for Java deployment... 2 Class Path requirements (compilation-time and run-time)... 3 Tomcat 4.0 deployment... 4

More information

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

Developing and Deploying vsphere Solutions, vservices, and ESX Agents Developing and Deploying vsphere Solutions, vservices, and ESX Agents vsphere 5.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Red Hat Decision Manager 7.0

Red Hat Decision Manager 7.0 Red Hat Decision Manager 7.0 Installing and configuring Decision Server on IBM WebSphere Application Server For Red Hat Decision Manager 7.0 Last Updated: 2018-04-14 Red Hat Decision Manager 7.0 Installing

More information

Overview. Borland VisiBroker 7.0

Overview. Borland VisiBroker 7.0 Overview Borland VisiBroker 7.0 Borland Software Corporation 20450 Stevens Creek Blvd., Suite 800 Cupertino, CA 95014 USA www.borland.com Refer to the file deploy.html for a complete list of files that

More information

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 WEBLOGIC SERVER DOMAINS. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 WEBLOGIC SERVER DOMAINS SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Domain - concept and implementation. Content of a domain. Common domain types. Production versus

More information

ByggSøk plan Project Structure And Build Process

ByggSøk plan Project Structure And Build Process Page 1 of 14 ByggSøk plan Project Structure And Build Process Document id. 11240-doc-05 Doc version 1.0 Status Date Mar 30, 2012 Author(s) ON Checked by DK Approved by PH Page 2 of 14 Document revision

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

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Creating Domains Using the Configuration Wizard 11g Release 1 (10.3.4) E14140-04 January 2011 This document describes how to use the Configuration Wizard to create, update, and

More information

Appendix REPOX User Manual

Appendix REPOX User Manual D5.3.1 Europeana OAI-PMH Infrastructure Documentation and final prototype co-funded by the European Union The project is co-funded by the European Union, through the econtentplus programme http://ec.europa.eu/econtentplus

More information

Intellicus Cluster and Load Balancing- Linux. Version: 18.1

Intellicus Cluster and Load Balancing- Linux. Version: 18.1 Intellicus Cluster and Load Balancing- Linux Version: 18.1 1 Copyright 2018 Intellicus Technologies This document and its content is copyrighted material of Intellicus Technologies. The content may not

More information

THUNDERKRYPT: THUNDERBIRD EXTENSION

THUNDERKRYPT: THUNDERBIRD EXTENSION THUNDERKRYPT: THUNDERBIRD EXTENSION Version: 1.0 Date: 08.03.2009 Authors: Dirk, Eduardo, Zakaria Description: Thunderkrypt adds java-based decryption to Mozilla Thunderbird > 1.5 The current document

More information

EVALUATION ONLY. WA2097 WebSphere Application Server 8.5 Administration on Linux. Student Labs. Web Age Solutions Inc.

EVALUATION ONLY. WA2097 WebSphere Application Server 8.5 Administration on Linux. Student Labs. Web Age Solutions Inc. WA2097 WebSphere Application Server 8.5 Administration on Linux Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4

More information

IBM VisualAge for Java,Version3.5. Distributed Debugger for Workstations

IBM VisualAge for Java,Version3.5. Distributed Debugger for Workstations IBM VisualAge for Java,Version3.5 Distributed Debugger for Workstations Note! Before using this information and the product it supports, be sure to read the general information under Notices. Edition notice

More information

Contents Installation Tasks... 5 Upgrading the P6 Adapter For More Information Legal Notices... 17

Contents Installation Tasks... 5 Upgrading the P6 Adapter For More Information Legal Notices... 17 Installing and Configuring the P6 Adapter Release 8.3 January 2014 Contents Installation Tasks... 5 Create a WebLogic Domain for the P6 Adapter Deployment... 6 Create an Endorsed Folder... 6 Configure

More information

Extending and Customizing the IBM Security Identity Manager

Extending and Customizing the IBM Security Identity Manager Extending and Customizing the IBM Security Identity Manager Parag Gokhale parag.gokhale@in.ibm.com May 12, 2016 Abstract: The IBM Security Identity Manager (ISIM) virtual appliance significantly reduces

More information

Contents Installation Tasks... 5 Upgrading the P6 Adapter Preface Legal Notices... 17

Contents Installation Tasks... 5 Upgrading the P6 Adapter Preface Legal Notices... 17 Installing and Configuring the P6 Adapter Release 15.1 March 2015 Contents Installation Tasks... 5 Create a WebLogic 11g Domain for the P6 Adapter Deployment... 6 Create a WebLogic 12c Domain for the

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

Edition 0.1. real scenarios for managing EAP instances. Last Updated:

Edition 0.1. real scenarios for managing EAP instances. Last Updated: JBoss Operations Network 3.0 Managing JBoss Servers with JBoss ON Edition 0.1 real scenarios for managing EAP instances Last Updated: 2017-10-25 JBoss Operations Network 3.0 Managing JBoss Servers with

More information

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11 !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... 7:4 @import Directive... 9:11 A Absolute Units of Length... 9:14 Addressing the First Line... 9:6 Assigning Meaning to XML Tags...

More information

Galigeo for Cognos HTML5 Installation Guide - G18.0

Galigeo for Cognos HTML5 Installation Guide - G18.0 Galigeo for Cognos HTML5 Installation Guide - G18.0 Copyright 2018 by Galigeo. All Rights Reserved. Table des matières Introduction... 3 About this document... 4 Chapter 1: Prerequisites... 5 1.1 Architecture

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

Red Hat JBoss Enterprise Application Platform 7.0

Red Hat JBoss Enterprise Application Platform 7.0 Red Hat JBoss Enterprise Application Platform 7.0 Patching and Upgrading Guide For Use with Red Hat JBoss Enterprise Application Platform 7.0 Last Updated: 2018-01-18 Red Hat JBoss Enterprise Application

More information

JBoss to Geronimo - EJB-Session Beans Migration

JBoss to Geronimo - EJB-Session Beans Migration JBoss to Geronimo - EJB-Session Beans Migration A typical J2EE application may contain Enterprise JavaBeans or EJBs. These beans contain the application's business logic and live business data. Although

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

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions

Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Test On Line: reusing SAS code in WEB applications Author: Carlo Ramella TXT e-solutions Chapter 1: Abstract The Proway System is a powerful complete system for Process and Testing Data Analysis in IC

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: WSAD. J2EE business topologies. Workbench. Project. Workbench components. Java development tools. Java projects

More information

Teamcenter Global Services Customization Guide. Publication Number PLM00091 J

Teamcenter Global Services Customization Guide. Publication Number PLM00091 J Teamcenter 10.1 Global Services Customization Guide Publication Number PLM00091 J Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product Lifecycle

More information

Developing and Deploying vsphere Solutions, vservices, and ESX Agents

Developing and Deploying vsphere Solutions, vservices, and ESX Agents Developing and Deploying vsphere Solutions, vservices, and ESX Agents vsphere 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

Enterprise Architect. User Guide Series. Profiling

Enterprise Architect. User Guide Series. Profiling Enterprise Architect User Guide Series Profiling Investigating application performance? The Sparx Systems Enterprise Architect Profiler finds the actions and their functions that are consuming the application,

More information

Enterprise Architect. User Guide Series. Profiling. Author: Sparx Systems. Date: 10/05/2018. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. Profiling. Author: Sparx Systems. Date: 10/05/2018. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series Profiling Author: Sparx Systems Date: 10/05/2018 Version: 1.0 CREATED WITH Table of Contents Profiling 3 System Requirements 8 Getting Started 9 Call Graph 11 Stack

More information

SpringSource Tool Suite 2.7.1

SpringSource Tool Suite 2.7.1 SpringSource Tool Suite 2.7.1 - New and Noteworthy - Martin Lippert 2.7.1 July 12, 2011 Updated for 2.7.1.RELEASE ENHANCEMENTS 2.7.1 General Updates Spring Roo 1.1.5 STS now ships and works with the just

More information

Centrify Infrastructure Services

Centrify Infrastructure Services Centrify Infrastructure Services Evaluation Guide for Windows November 2017 (release 2017.2) Centrify Corporation Legal notice This document and the software described in this document are furnished under

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

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

Chapter 1: Getting Started. You will learn:

Chapter 1: Getting Started. You will learn: Chapter 1: Getting Started SGML and SGML document components. What XML is. XML as compared to SGML and HTML. XML format. XML specifications. XML architecture. Data structure namespaces. Data delivery,

More information

Composer Guide for JavaScript Development

Composer Guide for JavaScript Development IBM Initiate Master Data Service Version 10 Release 0 Composer Guide for JavaScript Development GI13-2630-00 IBM Initiate Master Data Service Version 10 Release 0 Composer Guide for JavaScript Development

More information

BUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE

BUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE BUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE Ashwini Sharma 1 CONTENTS 1. Introduction... 2 2 Prerequisites... 2 3 Patch the SOA Server Installation... 2 4. Use

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information