Home
Mobicents EclipSLEE Plugin User Guide
Contents
1. ccc ccceccecceeeeeeeeeeeeeeeeeeeeseeeeeeeees 35 5 2 Editing a JAIN SLEE Profile Specification rrrrnnrnnrnnrnnrnernernernernernernernernernerneenn 42 5 3 Deleting a JAIN SLEE Profile Specification ccccecceeceeceeceeeeeeeeeeeeeeeeeeeeeeees 42 6 Building JAIN SLEE Service Building Block SBBs rrrrnrrnnrnnrnrnrnernernernernerner 43 6 1 Creating a JAIN SLEE Service Building Block SBB cccccceceeseeeeeeeeeneees 43 6 2 Editing a JAIN SLEE Service Building Block SBB cccccecceeceeeeeeeeeeeeeeees 62 6 2 1 Edit SBB Identity sansene scueasedcecaneeneeads 64 6 2 2 Edit PN CS erase casey hecelgss cc ctdiacediee slong a eiai abia E eraa gerei AESi 65 6 23 Edit SBB CMP Fields sorserion e eiia 66 6 2 4 Edit SBB Usage Parameters rrrarnnrnarnarnnrnarnarnarnarnernernarnernernernernernennennn 67 6 29 Edit PEPE 68 6 2 6 Edit SBB Profile Specifications rrarrarrarrarrarrarnarrarnrrarrarnrnernrnernarnenner 69 6 27 Edit SBB Child Relations srisirssrorinenuoroes irene E 70 Mobicents EclipSLEE Plugin Us 6 2 8 Edit SBB Resource Adaptor Type Bindings cccecceeeeeeeeeeeeeeeeeeeeees 71 6 2 9 Edit SBB Environment Entries rrarnnrnnvarnernannrvernarnnnnrnennannrnennannenennennenn 72 6 3 Deleting a JAIN SLEE Service Building Block SBB ccccecceeceeeeeeeeeeeeeeees 73 7 Building JAIN SLEE Services LL rssagsemdsruaske
2. Y 83 org mobicents demo b T MobicentsDemoEvent java Y events sre main resources 3 event jar gt sevent definition gt description gt EclipsLEE Demonstration Events lt description gt Y META INF lt event type name gt demo events lt event type name gt Ej event jar xml it type vendor gt mobicents org lt event type vendor gt gt 3 sbb src main java New it type version gt 1 0 lt event type version gt b 8 sbb src main resour 7 it class name gt org mobicents demo MobicentsDemoEvent lt event c EEE ag P IF ni bl one b profile spec sro mai b 4 profile spec src mai Open g F3 b 4 ratype src main java Open With d b 8 ratype src main resc b S ra sre main java Copy aC b G8 ra src mainj resource 52 Copy Qualified Name b 48 du src main resourc Paste EV gt E JRE System Library IN Delete E b ug jain slee 1 l jar Mi a EN gt E gt du amp Remove from Context LoL gt ES events si Mark as Landmark VOST b profile spec Build Path b gt gra Mowe P ratype Rename F2 b sbb gt target ry Import Properties fh Servers LEE Data Source Explorer Snippets x pom xml Export 35 others Refresh F5 4 items i Validate Show in Remote Systems view Modify Event Run As Debug As Renin Ae demo events 1 0 mobicents org Identity Delete Figure 4 9 Editing JAIN SLEE Events through XML descriptor After selecting the des
3. AM New Java Package Java Package Ei Create a new Java package Creates folders corresponding to packages Source folder MobicentsDemoProject events src main java Browse Name org mobicents demo Cancel Figure 8 1 Creating a new Package in Eclipse In case a new package is not created at this point it can still be created in the Component wizard but no validation is performed at that time regarding the package naming conventions To create a new JAIN SLEE RA Type right click on the created package or the module entry if the package is not yet created and choose New Other as shown below 85 Chapter 8 Building JAIN SLEE Ca Pr OG G GSJ Rl or ere MobicentsDemoProject Y SS events src main java es org mobicents demo E8 events src main resou Co Int F4 Project 8 sbb src main java o Into ae E sbb src main resource Open T ee Annotation 3 du src main resources did PPE FRENAN 7 Class gt B JRE System Library jvm SNOW In CHEW P GEnum d i oe M2 I Copy er G Interface gt events 6 Copy Qualified Name gf Package i Paste di FY Example target Delete i pom xml gt Remove from Context Vi HL mi Other dN Figure 8 2 Creating a new JAIN SLEE Component in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Resource Adaptor Type The dialog should now look like the following 86
4. Available SEBs Name Version Vendor Select SBB Deselect SBB Selected 5BBs Name Version Vendor Scoped Name Default Priority fry Est cq A 5 a i lt Back a _ a Figure 6 15 JAIN SLEE SBB Child SBBs selection in EclipSLEE The child selection dialog contains a list of all the SBBs the plugin could find in your project This includes any SBBs that were installed as external components If your custom SBBs are not listed verify that they have been compiled and the jars folder refreshed 57 Chapter 6 Building JAIN SLEE Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use the HSS Client Enabler in your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it For each child SBB the SBB should reference 1 Highlight the child SBB in the available SBBs table 2 Click Select SBB 3 Review the Scoped Name and change if required 4 Set the default priority of the child SBB Click Next to proceed to the resource adaptor types dialog 58 Creating a JAIN SLEE Service Building Block SBB JAIN SLEE Service Building Block Wizard Specify the SBB s Resource Adaptor Type Bindings Available resource adaptor types Name Version Vendor s Select RA Type Desele
5. Build Path p Move Rename F2 s Import e Export p IX resource adaptor type jar xm ETA INF Validate Show in Remote Systems view Modify Resource Adaptor Type DemoResourceAdaptorType 1 0 mobicents org Identity Run As gt Events Debug As b Activity Types Profile As gt gt Delete Team Figure 8 11 Editing JAIN SLEE Resource Adaptor Types through XML descriptor After selecting the desired Resource Adaptor Type the menu shown should be similar to the one presented when using the class file to edit The following actions are available for a JAIN SLEE Resource Adaptor Type 8 2 1 Edit RA Type Identity This operation can be accessed by selecting Identity With this operation it is possible to change the JAIN SLEE Resource Adaptor Type identity name vendor version and it s description The following dialog is presented 95 Chapter 8 Building JAIN SLEE BT Done tm om mm j al Name DemoResourceAdaptorType Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Resource Adaptor Type Figure 8 12 Editing JAIN SLEE Resource Adaptor Type Identity Other components are not updated EclipSLEE does not automatically update other component descriptors in order to reflect such identity change so it should be made manually 8 2 2 Edit RA Type Events This operation can be accessed by selecting Events and allows to modify the e
6. DemoResourceAdaptorType Vendor mobicents org Version 1 0 Really delete this Resource Adaptor Type Figure 8 15 Deleting a JAIN SLEE Resource Adaptor Type confirmation dialog 98 Deleting a JAIN SLEE Resource Adaptor Type Impossible to undo this operation Deleting a component Is an irreversible operation so it should be used carefully 99 100 Chapter 9 Building JAIN SLEE Resource Adaptors EclipSLEE provides means to create edit and delete JAIN SLEE Resource Adaptors 9 1 Creating a JAIN SLEE Resource Adaptor To create a component it may be easier but not mandatory to first create a package to contain it This package should be created as a child of the lt ra module gt src main java folder To do this right click on the src folder and select New Package Give the new package a name using the popup dialog shown below AE New Java Package Java Package Create a new Java package Creates folders corresponding to packages Source folder MobicentsDemoProject events src main java Browse Name org mobicents demo a Cancel SE Figure 9 1 Creating a new Package in Eclipse In case a new package is not created at this point it can still be created in the Component wizard but no validation is performed at that time regarding the package naming conventions To create a new JAIN SLEE Resource Adaptor right
7. based Mobicents driven solutions Therefore in this guide we take the tact of showing how to install the full Java Development Kit Should I Install the 32 Bit or the 64 Bit JDK and Does It Matter Briefly stated if you are running on a 64 Bit Linux or Windows platform you should consider installing and running the 64 bit JDK over the 32 bit one Here are some heuristics for determining whether you would rather run the 64 bit Java Virtual Machine JVM over its 32 bit cousin for your application Wider datapath the pipe between RAM and CPU is doubled which improves the performance of memory bound applications when using a 64 bit JVM 64 bit memory addressing gives virtually unlimited 1 exabyte heap allocation However large heaps affect garbage collection Applications that run with more than 1 5 GB of RAM including free space for garbage collection optimization should utilize the 64 bit JVM Applications that run on a 32 bit JVM and do not require more than minimal heap sizes will gain nothing from a 64 bit JVM Barring memory issues 64 bit hardware with the same relative clock speed and architecture is not likely to run Java applications faster than their 32 bit cousin Note that the following instructions detail how to download and install the 32 bit JDK although the steps are nearly identical for installing the 64 bit version Downloading You can download the Sun JDK 5 0 Java 2 Development Kit from Sun s website hitp
8. gt Figure 3 8 Selecting Edit Module in EclipSLEE This will present a dialog similar to the New Module dialog From this dialog it s possible to modify from which other existing modules this one will depend on Dependency and which ones will depend on this one Dependant Deployable Unit as Dependant The deployable unit du module must always be selected as dependant if the new module should be included in the maven generated Deployable Unit 14 Removing Existing Modules ADO Edit ratype Module Please edit on which modules this module will depend on dependency and which ones will depend on this module dependants Module Name ratype Dependency Dependant wi z events g Tl sbb g profile spec o G rn Tl du Figure 3 9 Editing a JAIN SLEE Module When done with the desired changes click on Finish and the affected modules will be updated 3 2 3 Removing Existing Modules Removing an existing module can be done from the workbench by right clicking the Project element and selecting Delete Module lt desired module gt as illustrated in the following figure for a Resource Adaptor Type 15 Chapter 3 Creating and Manag X event jar xml 23 7 5 MobicentsDemoProject Juml uanetnne 1 8 encoding ut b Hevents src main reso Go Into http H E sbb src main java O 1 9p inition b 3 sbb src main resourci Show In V W p liption gt EcLlipSLEE Du b profile spec src
9. right click on the resources folder and select New Other as shown below AHO Java EE Eclipse Users ite Or Os Br Ge S H DANE Er ap W344 MobicentsDemoProject events src main java b E events src main resources P 3 sbb src main java b 3 sbb src main resources b 3 profile spec src main java b profile spec sre main resources du src main resources P m JRE System Library JVM Contents MacOS X Defa no jain slee 1 1 jar M2 REPO javax slee jain sle Y E du W src main java resources im pom xml New gt F Project gt 53 events Go Into i b 3 profile spec 7 3 File gt E sbb Show In N W gt C4 Folder p Copy HC A SOL File 5 Copy Qualified Name F Example 3 Paste X Delete Figure 7 1 Creating a new JAIN SLEE Service in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Service The dialog should now look like the following 19 Chapter 7 Building JAIN SLEE Select a wizard Wizards type filter text iat Plug in Project b General b 3 Connection Profiles b 2 CVS b 2 Eclipse Modeling Framework EJB Y GS JAIN SLEE hit JAIN SLEE Deployable Unit DO JAIN SLEE Event JAIN SLEE Profile Specification EJ JAIN SLEE Project JAIN SLEE Service JAIN SLEE Service Building Block SBB Java 2 C ED nh Figure 7 2 Creating a new JAIN SLEE Service in EclipSLEE Click Next to
10. version 1 0 0 or higher is required by the Mobicents EclipSLEE plugin For instructions on how to install m2e refer to nstalling m2e http marketplace eclipse org content maven integration eclipse 2 2 Install Alternatives Using Update Site The plugin can be easily installed and updated by using the Mobicents EclipSLEE Update Site Manually As an alternative to the update site it is possible to download the plugin and install it manually 2 2 1 Update Site Set up the Update Site following these steps Chapter 2 Installing Mobicen 1 Open Eclipse 2 Go to Help gt Install New Software 3 Click Add and enter name EclipSLEE and URL http mobicents googlecode com svn downloads eclipse update site 4 Select the appropriate EclipSLEE version click Next and follow the instructions in the Eclipse Wizard 5 Allow Eclipse to restart 2 2 2 Manually 1 Download the latest EclipSLEE JAR file from here http mobicents googlecode com svn downloads eclipse update site plugins 2 Copy the JAR file to ECLIPSE HOME plugins 3 Re Start Eclipse 2 2 3 Nightly Builds Update Site We provide nightly builds for the early adopters Set up the Update Site following these steps 1 Open Eclipse 2 Goto Help gt Install New Software 3 Click Add and enter name EclipSLEE and URL hittp hudson jboss org hudson view Mobicents job Mobicents EclipSLEE lastSuccessfulBuild artifact 4 Select the appro
11. 2 1 Edit RA I dentity This operation can be accessed by selecting Identity With this operation it is possible to change the JAIN SLEE Resource Adaptor identity name vendor version and it s description The following dialog is presented 111 Chapter 9 Building JAIN SLEE m i ge h n JE ii a ms Modify Component Identity Name DemoResourceAdaptor Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Rresource Adaptor C Cancel Figure 9 12 Editing JAIN SLEE Resource Adaptor Identity Other components are not updated EclipSLEE does not automatically update other component descriptors in order to reflect such identity change so it should be made manually 9 2 2 Edit RA Resource Adaptor Types This operation can be accessed by selecting Resource Adaptor Types which allows to change the Resource Adaptor Types being implemented by this RA The following dialog is presented 112 Edit RA Config Properties EO Select the Resource Adaptor Types that t Available RA Types Version Vendor Select RA Type Deselect RA Type Selected RA Types Name Version Vendor DemoResourceAdaptorType 1 0 mobicents org Cancel Figure 9 13 Editing JAIN SLEE Resource Adaptor RA Types 9 2 3 Edit RA Config Properties This operation can be accessed by selecting Config Properties allowing to add new Config Properties to the Resource Adaptor
12. CMP field in the Name text field A CMP field can either be a standard Java object primitive or an SbbLocalob ject Select the statement that represents the data type to be stored in the field A standard Java object or primitive type requires the fully qualified type name to be entered into the Type text field For example java lang String A CMP field that stores an SbbLocalobject may only store SBBs of a specific identity The drop down SBB box will contain all the SBBs that the EclipSLEE plugin was able to find Choose the one that should be stored in the CMP field and give it a Scoped Name This is a variable name and should be a valid Java variable name and should begin with a lowercase letter lf an SBB needs to store an SBB of its own type in a CMP field then the SBB must be created without that CMP field and the CMP field added later Once the CMP field is correct click OK and the wizard CMP page will be updated with the new data Repeat until all CMP fields are created then click Next to edit the SBB s usage parameters 51 Chapter 6 Building JAIN SLEE 80 JAIN SLEE Service Building Block Wizard Create Usage Parameters for the SBE Til Create 5BE usage interface Name Type i Add demoCalls increment Remove q F F SS ee ee 2 lt Back Next gt Cancel i Macs a T iii i sitt Figure 6 10 JAIN SLEE SBB Usage Parameters definition in EclipSLEE
13. Check Create SBB usage interface if you require the SBB usage interface Then add usage parameters by clicking Add and modifying the values in the table Two types of parameter are available increment and sample Click Next to move to the event selection dialog shown below 52 Creating a JAIN SLEE Service Building Block SBB JAIN SLEE Service Building Block Wizard Select the events that this SBB can fire and receive Available events Name Version Vendor demo events 1 0 mobicents org Select Event Deselect Event Selected events Name Version Vendor Modify Figure 6 11 JAIN SLEE SBB Events selection in EclipSLEE The event selection dialog contains a list of all the events the plugin could find in your project This includes any events that were installed as external components Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use SIP11 Events for your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it For each event that you would like your SBB to fire or receive 1 Select the event in the available events table 53 Chapter 6 Building JAIN SLEE 2 Click Select Event the event will move to the selected events table 3 Click Modify for
14. Next to get the following dialog 103 Chapter 9 Building JAIN SLEE AO JAIN SLEE Resource Adaptor Wizard Choose the Container package that this component should be created in then choose a name for its main Java file Source Folder MobicentsDemoProject ra src main java Browse Package org mobicents demo Browse Component File Name MobicentsDemoResourceAdaptor java Finish Figure 9 4 Selecting the package and name for a new JAIN SLEE Resource Adaptor in EclipSLEE The source folder and package dialogs will be completed if New Other has been selected from right clicking on a package Otherwise it may need to be chosen by selecting Browse and selecting the desired locations or typing it s name in the appropriate field and it will be created in the end Name the Resource Adaptor the name must end with ResourceAdaptor java Then click Next to go to the component identity dialog pictured below 104 Creating a JAIN SLEE Resource Adaptor ANDO JAIN SLEE Resource Adaptor Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name DemoResourceAdaptor Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Rresource Adaptor F W ff Fa of z Back Next gt d Cancel Figure 9 5 JAIN SLEE Component Identity dialog in EclipSLEE The Name Vendor and Version fields are mandatory and are used by the SLE
15. Requirements For this to work Maven must be installed and JBOSS HOME env var set to point to where Mobicents JBoss AS is installed See Appendix B Setting the JBOSS HOME Environment Variable on how to do this In a terminal window head to the project folder and run the following command mvn clean install The output should be similar to the following At this time the deployable unit descriptor and the JAR file have been created successfully and deployed to JBoss 117 118 Chapter 11 Configuring Mobicents ElipSLEE 11 1 General Configuration Currently there are no general configurations for the plugin When they are available they can be accessed by going to Preferences gt Mobicents EclipSLEE 11 2 Component Templates Configuration It is possible to customize the list of component presented when adding a new Maven dependency see Section 3 3 1 Adding a New Maven Dependency This configuration can be made in Eclipse preferences Mobicents EclipSLEE Component Templates ANOO Preferences type filter text Component Templates ovoyrv gt General gt Ant In this page the available component templates can be defined Data Management Type Group ID Artifact Id Version Description use d ENABLER org mobicents servers jainslee enablers hss client sbb 1 0 0 CR1 Mobicents HSS Client p Install Update ENABLER org mobicents servers jainslee enablers sip publication client sbb 1 0 0 C
16. SLEE Profile Specification Cancel Finish Figure 4 3 Creating a new JAIN SLEE Event in EclipSLEE Click Next to get the following dialog 25 Chapter 4 Building JAIN SLEE 80 JAIN SLEE Event Wizard Choose the Container package that this component should be created in then choose a name for its main Java file as Source Folder MobicentsDemoProject events src main java Browse a E Package org mobicents demo Browse Component File Name MobicentsDemoEvent java Figure 4 4 Selecting the package and name for a new JAIN SLEE Event in EclipSLEE The source folder and package dialogs will be completed if New Other has been selected from right clicking on a package Otherwise it may need to be chosen by selecting Browse and selecting the desired locations or typing it s name in the appropriate field and it will be created in the end Name the event the name must end with Event java Then click Next to go to the component identity dialog pictured below 26 Creating a JAIN SLEE Event a6 JAIN SLEE Event Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name demo events Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Events TETTES 2 _ _ gt gt _ 2 z Back Mext gt Cancel Figure 4 5 JAIN SLEE Component Identity dialog in EclipSLEE The Name
17. Text to copy field and then click the Copy button Now switch back to your document and choose Edit gt Paste from the gedit menu bar Proportional Bold and all distinguishable by context Note the gt shorthand used to indicate traversal through a menu and its sub menus This is to avoid the difficult to follow Select Mouse from the Preferences sub menu in the System menu of the m ain menu bar approach Mono spaced Bold Italic Of Proportional Bold Italic Whether Mono spaced Bold or Proportional Bold the addition of Italics indicates replaceable or text Italics denotes text you do not input literally or displayed text that changes depending variable on circumstance For example Note the words in bold italics above username domain name file system package version and Each word is a placeholder either for text you enter when issuing a command or for text release To connect to a remote machine using ssh type ssh username domain name at a shell prompt If the remote machine IS example com and your username on that machine is john type ssh john example com The mount o remount file system command remounts the named file system For example to remount the home file system the command is mount o remount home To see the version of a currently installed package use the rpm q package command It will return a result as follows package version release displayed by the system Aside from standard usage fo
18. Y HH org mobicents demo public abstract int getCount P J MobicentsDemoProfileCMP java b J MobicentsDemoProfilelmpl java f name CMP field setter b T MobicentsDemoProfileManagement java public abstract void setName java lang t 77 name CMP field getter rofile spec src main resources f r i i public abstract java lang String getName Y E gt META INF E profile spec jar xmi E du src main resources meh JRE System Library JVM Contents MacOS X Defa nd jain slee 1 1 jar M2 REPO javax slee jain slee b du P o gt events profile spec H sbb H target im pom xml Figure 5 8 JAIN SLEE Profile Specification created in workspace using EclipSLEE 5 2 Editing a JAIN SLEE Profile Specification This operation is not currently supported 5 3 Deleting a JAIN SLEE Profile Specification This operation is not currently supported 42 Chapter 6 Building JAIN SLEE Service Building Block SBBs EclipSLEE provides means to create edit and delete JAIN SLEE Service Building Blocks 6 1 Creating a JAIN SLEE Service Building Block SBB To create a component it may be easier but not mandatory to first create a package to contain it This package should be created as a child of the lt sbb module gt src main java folder To do this right click on the src folder and select New Package Give the new package a name using the popup dialog shown below AM New Java Package Java P
19. at this point it can still be created in the Component wizard but no validation is performed at that time regarding the package naming conventions To create a new JAIN SLEE Event right click on the created package or the module entry if the package is not yet created and choose New Other as shown below 23 Chapter 4 Building JAIN SLEE F OG BG ES DB L vr Dr a o A MobicentsDemoProject Y Pevents sre main java af org mobicents demeo E8 events src main resou Co Int P Project 8 sbb src main java o Into ae 8 sbb src main resource Open T Herseth Annotation 3 du src main resources pen PE Tie early B p Class gt B JRE System Library jvm SNOW In CEW P Enum rr M2 Copy C amp Interface gt Es events 54 Copy Qualified Name Hy Package em Paste EV F Example pr target X Delete ES id pom xml gt Remove from Context YO W Other dN Figure 4 2 Creating a new JAIN SLEE Component in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Event The dialog should now look like the following 24 Creating a JAIN SLEE Event Select a wizard Wizards type filter text Class Interface Java Project g Java Project from Existing Ant Buildfile gm Plug in Project General b 2 Connection Profiles b 2 CVS b 2 Eclipse Modeling Framework b EJB JAIN SLEE hit JAIN SLEE Deployable Unit JAIN SLEE Event JAIN
20. click on the created package or the module entry if the package is not yet created and choose New Other as shown below 101 Chapter 9 Building JAIN SLEE Ca Pr OG G GSJ Rl or ere MobicentsDemoProject Y SS events src main java af org mobicents demo E8 events src main resou Co Int P Project 8 sbb src main java o Into ae 8 sbb src main resource Open T Herseth Annotation 3 du src main resources pen PE Tie early B p Class gt B JRE System Library jvm SNOW In CEW P Enum rr M2 Copy C amp Interface gt Es events 54 Copy Qualified Name Ay Package em Paste EV F Example pr target X Delete ES id pom xml gt Remove from Context YO W Other dN Figure 9 2 Creating a new JAIN SLEE Component in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Resource Adaptor The dialog should now look like the following 102 Creating a JAIN SLEE Resource Adaptor Select a wizard Wizards type filter text b E Connection Profiles cvs b 3 Eclipse Modeling Framework b EJB JAIN SLEE fit JAIN SLEE Deployable Unit DO JAIN SLEE Event JAIN SLEE Profile Specification EJ JAIN SLEE Project JAIN SLEE Resource Adaptor IT JAIN SLEE Resource Adaptor Type g JAIN SLEE Service JAIN SLEE Service Building Block SBB Cancel i Finish 3 Figure 9 3 Creating a new JAIN SLEE Resource Adaptor in EclipSLEE Click
21. events sre main resources http Java sun ec 3 sbb src main java 48 sbb src main resources b profile spec src main java H profile spec jar gt E aprofile spec gt lt description gt EclipsLEE Demonstration Profile lt profile spec name gt demo profile spec lt profile b 3 profile spec src main resources lt profile spec vendor gt mobicents org lt profile s Y ratype src main java lt profile spec version gt 1 lt profile spec versi Y tr org mobicents demo 2 profile classes gt p a DemoLongLifeActivity java profile cmp interface name gt org mobicents T DemoShortLifeActivity java lt pro File management interface name gt org me lt profile management abstract class name gt c bk Fj MobicentsDemoActivityContextiny gt J MobicentsDemoProvider java New False gt count lt profile b Aratype src main resources gt ratype 2 EN Open Type Hierarchy F4 g ra sre main java a k 3 ra src main resources Show In NEW b 8 du src main resources Open F3 b gt B JRE System Library JVM Contents Maco Open With gt ad jain slee 1 1 jar M2_REPO javax slee gt du Copy aC P events 5 Copy Qualified Name b profile spec TE Paste EV gt Sara e 0 X Delete gt f a r 3 gt E sbb Rem ove from Context VOL M Data Sourc eg Explorer i x pom xml Source N S b Do a Resource Refactor XT t3 Import g Export Refresh F5 References J org mobic
22. jain slee l 1jar M2 Refactor XET p P 2 du gt S events i Import P profile spec p Export bg ra b ratype Refresh F5 gt sbb Close Project gt fr target Close Unrelated Projects X pom xml Validate 1 no Show in Remote Systems view Add Module Events F VE r Edit Module b Service Building Block SBB r Delete Module Profile Specification Run As gt Resource Adaptor Type Debug As gt Resource Adaptor Profile As b Library Teas n M Figure 3 6 Selecting Add Module in EclipSLEE This will create a New Module dialog as shown below From this dialog it s possible to name the new module and select from which other existing modules this one will depend on Dependency and which ones will depend on the new one Dependant Deployable Unit as Dependant The deployable unit du module must always be selected as dependant if the new module should be included in the maven generated Deployable Unit Module Name Suffix The module name will always be suffixed with lt component type gt eg Using Name custom in example will result in custom ratype module so avoid including it in the name 12 Editing Existing Modules 6 6 Module Name Please enter the module name New Module Name Dependency Dependant wi C events sbb M du w ae 7 Cancel Figure 3 7 Choosing a JAIN SLEE Project Click on Finish and the new module will be created and depen
23. or modify or remove the existing ones The following dialog is presented 113 Chapter 9 Building JAIN SLEE Modify Resource Adaptor Config Properties Name Type Default Value listeningPort java lang Integer 25311 ipAddress java lang String 127 0 0 1 useLoadBalancer java lang Boolean True Figure 9 14 Editing JAIN SLEE Resource Adaptor Configuration Properties 9 3 Deleting a JAIN SLEE Resource Adaptor It is possible with EclipSLEE to delete existing components Right clicking in one of the JAIN SLEE Resource Adaptor classes or XML descriptor file see Section 9 2 Editing a JAIN SLEE Resource Adaptor and selecting the Delete option A confirmation dialog similar to the following should be presented GM Confirmation I You have chosen to delete the following Resource Adaptor Name DemoResourceAdaptor Vendor mobicents org Version 1 0 Really delete this Resource Adaptor Figure 9 15 Deleting a JAIN SLEE Resource Adaptor confirmation dialog 114 Deleting a JAIN SLEE Resource Adaptor Impossible to undo this operation Deleting a component Is an irreversible operation so it should be used carefully 115 116 Chapter 10 Creating a JAIN SLEE Deployable Unit In order to create a Deployable Unit the Mobicents Deployable Unit Plugin for Maven is to be used Unfortunately the EclipSLEE plugin is not yet integrated with third party Maven tools and so this must be made manually
24. sdk 1 5 0 N alternatives but we will set them all just to be safe and consistent Setting the JAVA HOME Environment Variable on Generic Linux After installing the JDK you must ensure that the JAVA_HoME environment variable exists and points to the location of your JDK installation Setting the gavA_HoME Environment Variable on Linux You can determine whether JAVA HOME IS set on your system by echoing it on the command line If JAVA HOME IS not set already then you must set its value to the location of the JDK installation on your system You can do this by adding two lines to your personal bashrc configuration file Open bashrc or create it if it doesn t exist and add a line similar to the following one anywhere inside the file export JAVA HOME usr lib jvm jdk1 5 0 lt version gt You should also set this environment variable for any other users who will be running Mobicents any environment variables exported from bashrc files are local to that user Setting java javac and java_sdk_1 5 0 Using the alternatives command Selecting the Correct System JVM on Linux using alternatives On systems with the alternatives command including Red Hat Enterprise Linux and Fedora you can easily choose which JDK or JRE installation you wish to use as well as which java and javac executables should be run when called As the root user call usr sbin alternatives with the config java option to select between JDKs and JREs in
25. src main java o Into ae 8 sbb src main resource Open T Herseth Annotation 3 du src main resources pen PE Tie early B p Class gt B JRE System Library jvm SNOW In CEW P Enum rr M2 Copy C amp Interface gt Es events 54 Copy Qualified Name Ay Package em Paste EV F Example pr target X Delete ES id pom xml gt Remove from Context YO W Other dN Figure 5 2 Creating a new JAIN SLEE Component in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Profile Specification The dialog should now look like the following 36 Creating a JAIN SLEE Profile Specification Select a wizard Wizards type filter text Gi Interface Java Project g Java Project from Existing Ant Buildfile gt Plug in Project P General b 2 Connection Profiles cvs b Eclipse Modeling Framework EJE Y G2 JAIN SLEE fi JAIN SLEE Deployable Unit EH JAIN SLEE Event JAIN SLEE Profile Specification S JAIN SLEE Project Finish Figure 5 3 Creating a new JAIN SLEE Profile Specification in EclipSLEE Click Next to get the following dialog 37 Chapter 5 Building JAIN SLEE 80 JAIN SLEE Profile Specification Wizard Choose the Container package that this component should be created in then choose a name for its main Java file Source Folder MobicentsDemoProject profile spec src main java Browse Package org mobicents demo Browse Component File Name Mo
26. src main resources Y8 ra src main java Y 8 org mobicents demo b J MobicentsDemoMarshaler java P J MobicentsDemoProviderlmpl java B lt event jar gt E sevent definition adescription Eclip LEE Demonstration Events lt descriptio lt event type name gt demo events lt event type name gt lt event type vendor gt mobicents org lt event type vendor gt lt event type version gt 1 lt event type version gt lt event class name gt org mobicents demo MobicentsDemoEvent lt event definition gt lt event jar gt kJ MobicentsDemoResourceAdaptor java b 44 ra src main resources New b b 3 du src malnfrasnurees Open Type Hierarchy F4 P m JRE System Library WM Contents MacO5 X D Show in ew gt aw jain slee 1 1 jar M2_REPO javax slee jain E o gt du Open F3 gt events Open With b profile spec gt f gt ra Copy EC b E ratype ES Copy Qualified Name gt sbb Paste b target Delete pe IPS Data Source Explorer f Snippets mil ii porn gt Remove from Context Vi HL Build Path b Resource Path Source eS b Refactor XT b ua Import ey Export Refresh F5 g Ti org mobicents demo MobicentsDemof pe gt re main java 1 Declarations b i Run As b Debug As b Profile As b Validate Team gt Compare With gt Replace With b Restore from Local History Web Services b Modify Resource Adaptor gt Identity Resource Adaptor Types _ Propert
27. that event in the selected events table This will create the following dialog Configure SBB Event demo events 1 0 mobic Configure the settings for the event demo events 1 0 mobicents org Scoped Name demo events Event Direction Receive EE 1 This is an initial event Initial Event Selector s Figure 6 12 JAIN SLEE SBB Event configuration in EclipSLEE 4 Review the Scoped Name and change it if desired 5 Set the event direction 6 If the event direction is Receive or FireAndReceive check This is an initial event if it should be an initial event for a service 7 If this is an initial event choose one or more initial event selectors 8 Click OK When all events have been configured the dialog may look something like this 54 Creating a JAIN SLEE Service Building Block SBB JAIN SLEE Service Building Block Wizard Select the events that this SBB can fire and receive Available events Name Version Vendor Select Event Deselect Event Selected events Name Version Vendor Modify demo events 1 0 mobicents org 2 Figure 6 13 JAIN SLEE SBB Events configured in EclipSLEE Click Next to define the SBB s profile specifications 55 Chapter 6 Building JAIN SLEE JAIN SLEE Service Building Block Wizard Specify the SBB s Profile Specifications Available profile specifications Name Version Vendor demo profile spec 1 0 mo
28. to the component identity dialog pictured below 88 Creating a JAIN SLEE Resource Adaptor Type ANDO JAIN SLEE Resource Adaptor Type Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name DemoResourceAdaptorType Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Resource Adaptor Type a vi k F of z Back Next gt d Cancel Figure 8 5 JAIN SLEE Component Identity dialog in EclipSLEE The Name Vendor and Version fields are mandatory and are used by the SLEE to identify the RA Type The description field is optional but strongly recommended to be completed to allow easy identification of the RA Type in future After completing these fields click Next to specify the RA Type Libraries 89 Chapter 8 Building JAIN SLEE se JAIN SLEE Wizard Specify the Libraries Available libraries Name Version Vendor sip services library 1 2 org mobicents Select Library Deselect Library Selected libraries Version Vendor Next gt Cancel Figure 8 6 JAIN SLEE RA Type Libraries dialog in EclipSLEE This dialog allows to select which JAIN SLEE Libraries this RA Type should reference in it s descriptor Select them from the top list Available Libraries by clicking Select Library To remove them select them from the bottom list Selected Libraries and click Deselect Library When done click Next to specify the Events supported by
29. well should they require access to JBOSS HOME 126 You MUST set JBOSS HOME if a Note The command line usage below is based upon a binary installation of the Mobicents Platform In this sample output JBOSS HOME has been set correctly to the topmost_directory of the Mobicents installation Note that if you are installing one of the standalone Mobicents servers with JBoss AS bundled then JBoss HOME would point to the topmost_directory of your server installation Setting the JBOSS HOME Environment Variable on Windows The JBOSS HOME environment variable must point to the directory which contains all of the files for the Mobicents Platform or individual Mobicents server that you installed As another hint this topmost directory contains a bin subdirectory For information on how to set environment variables in recent versions of Windows refer to http support microsoft com kb 931 715 127 128 Appendix C Revision History Revision History Revision 1 0 Tue Nov 09 2010 AlexandreMendonca Creation of the Mobicents EclipSLEE Plugin User Guide Revision 1 1 Fri Mar 25 2011 AlexandreMendonca Addition of the Mobicents EclipSLEE Plugin support to Resource Adaptor Type and Resource Adaptor to the User Guide Revision 1 2 Fri Apr 22 2011 AlexandreMendonca Addition of the Mobicents EclipSLEE Plugin support for component editing to the User Guide 129 130 Index F feedback viii 131 132
30. 2 Edit RA Resource Adaptor Types rrarnnrnannnvnrnennannrnernannannrnennnnnrnennennenn 112 9 2 3 Edit RA Config Properties rrrrrrrnrrnornornernernernernernernernarnernernernernennenner 113 9 3 Deleting a JAIN SLEE Resource Adaptor rrrrnrrnrrnernennernernernernernernerneenerneenennn 114 10 Creating a JAIN SLEE Deployable Unit 0 ec eceec eee eeeeeeeeeeeeeeeeeeees 117 11 Configuring Mobicents ElipSLEE 0 0 cece ccc eee cece eee eee eee eee eeeeeaeeeeeeeaes 119 11 1 General Configuration nciaione2ccccacedscadenssncacennacsedeedoegndedapedateeseateansaecdadestaGacesnens 119 11 2 Component Templates Configuration cccccceccecceeceeceeeeeeeeeeeeeseeeeeeeeeeeees 119 11 2 1 Add a New Component Template cccccccceeceeeeeeeeeeeeeeeeeeeeeeeaeees 119 11 2 2 Editing a Component Template cccccccccecceeceeeeeceeeeeeeeeeeeeeeeeeeaes 120 11 2 3 Removing a Component Template ccccceceeeceeeeeeeeeeeeeeeeeeeeeeeeeees 120 A Java Development Kit JDK Installing Configuring and Running cceeceeeeeeeeees 121 B Setting the JBOSS HOME Environment Variable cccccccecceeceeceeee eee eeeeeeeeeeaeeaes 125 Gs TAR VISION TVS TOD EE EN 129 1 0 gt JE NE eee eee eee eee 131 Preface 1 Document Conventions This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of inform
31. A Types this Resource Adaptor will implement Select them from the top list Available RA Types by clicking Select RA Type To remove them select them from the bottom list Selected RA Types and click Deselect RA Type When done click Next to edit the Resource Adaptor Config Properties Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use the SIP11 Resource Adaptor Type for your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it 107 Chapter 9 Building JAIN SLEE JAIN SLEE Resource Adaptor Wizard Specify the resource adaptor config properties and default values here Name Type Default Value C add listeningPort java lang Integer 25311 ipAddress java lang String 17 7 0 0 1 saci useLoadBalancer java lang Boolean True vi This Resource Adaptor supports active reconfiguration prm h Fa z _ k R E F Back Wext gt Cancel Mey CC Me Figure 9 8 JAIN SLEE Resource Adaptor Config Properties definition in EclipSLEE Here the Resource Adaptor s Config Properties can be set Add a Config Property field by clicking on Add and writing it s name on the Name column selecting the appropriate Java Ty
32. AIN SLEE Service Building Block Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name demo sbb Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration SBB re a kA 2 x Back Next gt Cancel Figure 6 5 JAIN SLEE Component Identity dialog in EclipSLEE The Name Vendor and Version fields are mandatory and are used by the SLEE to identify the SBB The description field is optional but strongly recommended to be completed to allow easy identification of the SBB in future After completing these fields click Next to specify the SBB s Libraries 47 Chapter 6 Building JAIN SLEE JAIN SLEE Wizard Specify the Libraries Available libraries Name Version Vendor sip services library 1 2 org mobicents Select Library Deselect Library Selected libraries Version Vendor Next gt oO Cancel Figure 6 6 JAIN SLEE SBB Libraries dialog in EclipSLEE This dialog allows to select which JAIN SLEE Libraries this SBB should reference in it s descriptor Select them from the top list Available Libraries by clicking Select Library To remove them select them from the bottom list Selected Libraries and click Deselect Library When done click Next to specify the SBB s class files 48 Creating a JAIN SLEE Service Building Block SBB ACO JAIN SLEE Service Building Block Wizard Configure the SBB s companion interface
33. Building JAIN SLEE Profile Specifications EclipSLEE provides means to create edit and delete JAIN SLEE Profile Specifications 5 1 Creating a JAIN SLEE Profile Specification To create a component it may be easier but not mandatory to first create a package to contain it This package should be created as a child of the lt profile spec module gt src main java folder To do this right click on the src folder and select New Package Give the new package a name using the popup dialog shown below ae New Java Package Java Package Create a new Java package Creates folders corresponding to packages Source folder MobicentsDemoProject events src main java Browse Name org mobicents demo a Cancel SE Figure 5 1 Creating a new Package in Eclipse In case a new package is not created at this point it can still be created in the Component wizard but no validation is performed at that time regarding the package naming conventions To create anew JAIN SLEE Profile Specification right click on the created package or the module entry if the package is not yet created and choose New Other as shown below 35 Chapter 5 Building JAIN SLEE F OG BG ES DB L vr Dr MobicentsDemoProject Y Pevents sre main java es org mobicents demeo E8 events src main resou Go Int P Project 8 sbb
34. C gt ratype 53 Copy Qualified Name gt amp sbb 5 Paste AV gt target X Delete gt x pom xml gt Remove from Context VY 321 bpperties 47 Servers M Data Source Explorer Snippets oi Mark as Landmark N 0321 hers Build Path gt Resource Path Move Rename F2 g Import t Export 2 Refresh Fs i o IX demo service xml iervices Validate Show in Remote Systems view i Modify Service e DemoService 1 0 mobicents org Identity Run As f Root SBB Debug As b Profile As b Delete Figure 7 7 Editing a JAIN SLEE Service through Service XML file After selecting the desired Service the menu shown allows you to select one of the following actions to modify 7 2 1 Edit Service Identity This operation can be accessed by selecting Identity and allows to change the JAIN SLEE Service identity name vendor version and it s description The following dialog is presented 81 Chapter 7 Building JAIN SLEE Ment gency B p fl ki p mm vm Ta om om mn ee ee mem om op Name Demoservice Vendor mobicents org Version 1 0 Description Eclip5LEE Demonstration Service Cancel Figure 7 8 Editing JAIN SLEE Service Identity 7 2 2 Edit Service Root SBB This operation can be accessed by selecting Root SBB and allows to change which SBB is to be the Root SBB for this Service The following dialog is presented 82 Deleting a JAIN
35. Creating a JAIN SLEE Resource Adaptor Type Select a wizard Wizards type filter text iat Plug in Project P E General bk Connection Profiles CVS b Eclipse Modeling Framework HE EJB GS JAIN SLEE ft JAIN SLEE Deployable Unit OO JAIN SLEE Event JAIN SLEE Profile Specification S JAIN SLEE Project JF JAIN SLEE Resource Adaptor LF JAIN SLEE Resource Adaptor Type g JAIN SLEE Service Q nd EE Finish Figure 8 3 Creating a new JAIN SLEE RA Type in EclipSLEE Click Next to get the following dialog 87 Chapter 8 Building JAIN SLEE AO JAIN SLEE Resource Adaptor Type Wizard Choose the Container package that this component should be created in then choose a name for its main Java file Source Folder MobicentsDemoProject ratype src main java Browse Package org mobicents demo Browse Component File Name MobicentsDemoActivityContextinterfaceFactory java 2 lt Back mem Cancel Finis Figure 8 4 Selecting the package and name for a new JAIN SLEE RA Type in EclipSLEE The source folder and package dialogs will be completed if New Other has been selected from right clicking on a package Otherwise it may need to be chosen by selecting Browse and selecting the desired locations or typing it s name in the appropriate field and it will be created in the end Name the RA Type the name must end with ActivityContextInterfaceFactory java Then click Next to go
36. E to edit existing components When right clicking on the service xml descriptor a similar menu should be shown 80 Edit Service Identity F r J 0 Q BG G R S9 SIBHM ro Sore fE event jar xml gg a Y 8 MobicentsDemoProject lt xml version 1 encoding utf 8 gt gt 8 events src main java lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN SLEE Event gt events sre main resources http java sun com dtd slee event jar_1_1 dtd b in j sea amp sbb src main java lt event definition gt gt Ssbb sre main resources lt description gt EclipSLEE Demonstration Events lt description gt gt amp profile spec src main java lt event type name gt demo events lt event type name gt gt 2 profile spec src main resources lt event type vendor gt mobicents org lt event type vendor gt gt ratype src main java lt event type version gt 1 lt event type version gt gt 8 ratype src main resources lt event class name gt org mobicents demo MobicentsDemoEvent lt event clas lt event definition gt lt event jar gt 3 lt event jar gt gt SB ra src main java gt 8 ra src main resources v 8 du src main resources V B services Ey demo service xmi gt META INF New gt e BAJRE System ay UVM Show In XHW gt gt oo jain slee 1 1 jar M2 Ri gt du Open F3 gt events Open With gt P ile gt en spec Copy 2
37. E to identify the Resource Adaptor The description field is optional but strongly recommended to be completed to allow easy identification of the Resource Adaptor in future After completing these fields click Next to specify the Resource Adaptor Libraries 105 Chapter 9 Building JAIN SLEE ANDOA JAIN SLEE Wizard Specify the Libraries Available libraries Name Version Vendor sip services library 1 2 org mobicents Select Library Deselect Library Selected libraries Version Vendor D lt Back Next gt gt Figure 9 6 JAIN SLEE Resource Adaptor Libraries dialog in EclipSLEE This dialog allows to select which JAIN SLEE Libraries this Resource Adaptor should reference in it s descriptor Select them from the top list Available Libraries by clicking Select Library To remove them select them from the bottom list Selected Libraries and click Deselect Library When done click Next to specify the RA Types the Resource Adaptor implements 106 Creating a JAIN SLEE Resource Adaptor JAIN SLEE Resource Adaptor Wizard Select the resource adaptor types that this Resource implements Available RA Types Name Version Vendor Select RA Type Deselect RA Type Selected RA Types Name Version Vendor DemoResourceAdaptorType 1 0 mobicents org Figure 9 7 JAIN SLEE Resource Adaptor RA Types selection in EclipSLEE This dialog allows you to specify which R
38. EE Service Building Block SBB Select a wizard Wizards type filter text a oe Plug in Project General b 2 Connection Profiles 2 CVS b Eclipse Modeling Framework EJB TF 2 JAIN SLEE hit JAIN SLEE Deployable Unit OO JAIN SLEE Event JAIN SLEE Profile Specification EJ JAIN SLEE Project g JAIN SLEE Service P JAIN SLEE Service Building Block SBB 2 lt Back C Finish Figure 6 3 Creating a new JAIN SLEE SBB in EclipSLEE Click Next to get the following dialog 45 Chapter 6 Building JAIN SLEE 80 JAIN SLEE Service Building Block Wizard Choose the Container package that this component should be created in then choose a name for its main Java file Source Folder MobicentsDemoProject sbb src main java Browse Package org mobicents demo Browse Component File Name MobicentsDemoSbb java Finish Figure 6 4 Selecting the package and name for a new JAIN SLEE SBB in EclipSLEE The source folder and package dialogs will be completed if New Other has been selected from right clicking on a package Otherwise it may need to be chosen by selecting Browse and selecting the desired locations or typing it s name in the appropriate field and it will be created in the end Name the SBB the name must end with Sbb java Then click Next to go to the component identity dialog pictured below 46 Creating a JAIN SLEE Service Building Block SBB ANDO J
39. Mobicents EclipSLEE Plugin User Guide by Alexandre Mendon a Fe V 1 Document CONVENTIONS arrarnarnarnarrarnarnarnarrarnarnarnarnarnarnernarnrnernarnarnernennennennennenne V 1 1 Typographic Conventions cccccccceececeeeeceeceee eee eceeseeeeeeeseeaeeeseeaeeaeeeeaeees V 1 2 P lkguote Conventions avvek EE vii 1 NOTES and VV ANN Ss tauiucinacsuncsisansnbsnunnansieGentanenvenmmunsaecenueraniniertainaaanenets vil 2 Provide feedback to the authors r rrnrnarnarnrnnrnarnennrnnrnernannrrernennannnnennannnnennennsner vill 1 Introduction to Mobicents JAIN SLEE Eclipse rnrrarrarnannrnnrnernavnrnennnvnrnernannnvernennnner 1 2 Installing Mobicents JAIN SLEE rrarrnrnnnnnnarnannnnarnennnnnrnennannrnernannrnernannsnennennnnannennsner 3 2 1 Pre Install Requirements and Prerequisites rrrrnrrnrnnrnvrnernrrnenernrnnrneenennrnnenennenee 3 2 1 1 Hardware Requirements waisciaintassssietasdtecnasenentete saiasaueacinimeaciadeunnesatmtanniaames 3 2 1 2 Software Prerequisites rrrrrrrrnrrnrrnrrnrrnernrrnernernernernernernarnernernernrnarnennenne 3 Ae A OS a E E coadiebelwenecaionsuanaaaunenesd 3 2 E e e A E 3 PENN ve 4 2 2 3 Nightly Builds Update Site Lu caivestecns seccwsastieteccesdeesteardecexesbicvevestiesaeetstieve Geek 4 2 3 Uninstall Mobicents EclipSLEE rarrernnnnnnnrnennannrnernannnnarnennnnnrnennannnnernennannenennsnnen 4 3 Creating and Managing a JAIN SLEE Project r
40. Paste SEV P P du src main resources Delete E P m JRE System Library VM Content i Er gt f jain slee 1 1 jar M2 REPO jav Remove from Context Attest H Edu Build Path P b gt events Source N S b 3 profile spec Refactor N T po gra b ratype t Import H sbb ey Export ers KA Data Source Explorer Snippets target X pom xml 2 Refresh References Declarations Run As Debug As Profile As Validate Team Compare With Replace With Restore from Local History Web Services Modify Service Building Block SBB Properties FS 4 Resource Path T TY TY TY Identity Classes El comp Fields Usage Parameters Events Profiles Children Resource Adaptor Bindings Environment Entries Delete Figure 6 20 Editing a JAIN SLEE Service Building Block through class file It is also possible to edit by right clicking on the sbb jar xml descriptor In that case a sub menu allowing to pick which Service Building Block to edit is shown 63 Chapter 6 Building JAIN SLEE ANNO Java EE MobicentsDemoProject events src main resources META INF event jar xml Eclipse Platform itt HOQ RB 6G leae R E iy 7 amp YS X event jar xml X i m lt xml version 1 0 encoding utf 8 gt gt Bevents src main java lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN SLEE Event 1 1 EN gt GB events src m
41. R1 Mobicents SIP Publication Client dis ENABLER org mobicents servers jainslee enablers sip subscription client sbb 1 0 0 CR1 Mobicents SIP Subscription Client oo ENABLER org mobicents servers jainslee enablers xdm client 1 0 0 CR2 Mobicents XDM Client an USER RATYPE org mobicents servers diameter resources base ratype 2 4 1 FINAL Mobicents Diameter Base kan RATYPE org mobicents servers diameter resources cca ratype 2 4 1 FINAL Mobicents Diameter Credit Control Application a ren EclipSt EE RATYPE org mobicents servers diameter resources cxdx ratype 2 4 1 FINAL Mobicents Diameter Cx Dx Interface RATYPE org mobicents servers diameter resources gx ratype 2 4 1 FINAL Mobicents Diameter Gx Interface gt PI rea airipeaees RATYPE org mobicents servers diameter resources rf ratype 2 4 1 FINAL Mobicents Diameter Rf Interface ge RATYPE org mobicents servers diameter resources ro ratype 2 4 1 FINAL Mobicents Diameter Ro Interface v gt Remote Systems gt Run Debug Note Double click an item to edit it s version Remove Component Server Tasks gt Team Add Component Template Terminal T gt Usage Data Collector Component Type Enablers Validation Group ID b Web Web Services Artifact ID b XML Version Description Add Component SSS EEE Restore Defaults Apply a SSS Figure 11 1 Mobicents EclipSLEE Component Templates Configuration 11 2 1 Add a New Component Template To add a new component template follow these steps 1 C
42. SLEE Service Version Description demo sbb mobicents org 10 EclipSLEE Demonstration SBE Default event priority 0 Specify service address profile table Figure 7 9 Editing JAIN SLEE Service Root Service Building Block SBB 7 3 Deleting a JAIN SLEE Service It is possible with EclipSLEE to delete existing components Right clicking in the JAIN SLEE Service XML descriptor file see Section 7 2 Editing a JAIN SLEE Service and selecting the Delete option A confirmation dialog similar to the following should be presented ee Confirmation You have chosen to delete the following service Name DemoService Vendor mobicents org Version 1 0 Really delete this service Figure 7 10 Deleting a JAIN SLEE Service confirmation dialog 83 Chapter 7 Building JAIN SLEE Impossible to undo this operation Deleting a component Is an irreversible operation so it should be used carefully 84 Chapter 8 Building JAIN SLEE Resource Adaptor Types EclipSLEE provides means to create edit and delete JAIN SLEE Resource Adaptor Types 8 1 Creating a JAIN SLEE Resource Adaptor Type To create a component it may be easier but not mandatory to first create a package to contain it This package should be created as a child of the lt ratype module gt src main java folder To do this right click on the src folder and select New Package Give the new package a name using the popup dialog shown below
43. Vendor and Version fields are mandatory and are used by the SLEE to identify the event The description field is optional but strongly recommended to be completed to allow easy identification of the event in future Click Next to select the Library References for this event After completing these fields click Next to specify the event Libraries 27 Chapter 4 Building JAIN SLEE JAIN SLEE Wizard Specify the Libraries Available libraries Name Version Vendor sip services library 1 2 org mobicents Select Library Deselect Library Selected libraries Version Vendor Next gt Figure 4 6 JAIN SLEE Event Libraries dialog in EclipSLEE This dialog allows to select which JAIN SLEE Libraries this event should reference in it s descriptor Select them from the top list Available Libraries by clicking Select Library To remove them select them from the bottom list Selected Libraries and click Deselect Library When done click Finish to create the event The event Java file Test Event java IS created in the specified package and opened for editing in the workspace The event jar xm1 deployment descriptor is updated to reflect the new event or created if not already present The resulting workspace can be seen below 28 Editing a JAIN SLEE Event F Or Gr Br Gr SFHr E DEJASE aP o m fa MobicentsDemoEventjava lt Z package org mobicents demo ag Yid MobicentsDem
44. ackage Y Create a new Java package Creates folders corresponding to packages Source folder MobicentsDemoProject events src main java Name org mobicents demo Figure 6 1 Creating a new Package in Eclipse In case a new package is not created at this point it can still be created in the Component wizard but no validation is performed at that time regarding the package naming conventions To create a new JAIN SLEE SBB right click on the created package or the module entry if the package is not yet created and choose New Other as shown below 43 Chapter 6 Building JAIN SLEE Ca Pr OG G GSJ Rl or ere MobicentsDemoProject Y SS events src main java af org mobicents demo E8 events src main resou Co Int F4 Project 8 sbb src main java o Into ae E sbb src main resource Open T ee Annotation 3 du src main resources did PPE FRENAN 7 Class gt B JRE System Library jvm SNOW In CHEW P GEnum d i oe M2 I Copy er G Interface gt events 6 Copy Qualified Name gf Package Paste dl FY Example target Delete i pom xml gt Remove from Context Vi HL mi Other dN Figure 6 2 Creating a new JAIN SLEE Component in EclipSLEE A dialog should appear Expand the JAIN SLEE item and choose JAIN SLEE Service Building Block SBB The dialog should now look like the following 44 Creating a JAIN SL
45. ain resources http java sun com dtd slee event jar_1_1 dtd gt Y gr 3 lt event jar gt re lt event definition gt H org mobicents demo lt description gt EclipSLEE Demonstration Events lt description gt gt J MobicentsDemoSbb java lt event type name gt demo events lt event type name gt gt J MobicentsDemoSbbActivityContextinterfac lt event type vendor gt mobicents org lt event type vendor gt gt J MobicentsDemoSbbLocalObject java lt event type version gt 1 lt event type version gt gt J MobicentsDemoSbbUsage java lt event class name gt org mobicents demo MobicentsDemoEvent lt event class name gt v E sbb src main resources lt event definition gt Y META INF lt event jar gt F sbb jar xml gt 2 profile spec src mail New gt EP profile spec src mal Sk In 7 32W gt gt ratype src main java O gt ratype src main resc pen i F3 gt SB ra src main java Open With gt gt 3 ra src main resource gt 2 du src main resourc iS Copy C gt BAJRE System Library jy E Copy Qualified Name e ora jJain slee 1 1jar Mi Paste eV i X Delete D gt events gt 4 7 l HE aae Remove from Context vos p gt gra sl Mark as Landmark Seel 474 Servers M Data Source Explorer 5 Snippets gt gt ratype Build Path p gt stb Move ba Resource Path Location Type gt target Rename F2 X pom xml Import Export Refresh F5 Validate lang x sbb jar xml Show i
46. ain resources import javax slee gt sbb sre main java public interface MobicentsDemoAct1 b E sbb src main resources P profile spec src main java public ActivityContextInterfac b 43 profile spec src main resources org mobicents demo DemoSho b ES du src main resources UnrecognizedActivityExcept Y 4 ratype sre main java Y H org mobicents demo public ActivityContextInterfac gt J DemoLongLifeActivity java org mobicents demo DemoLon b J DemoShortLifeActivity java UnrecognizedActivityExcept P J MobicentsDemoActivityContextInterfaceFac b J MobicentsDemoProvider java Y E ratype src main resources b E META INF P m JRE System Library WYM Contents MacO5 X Defa oo jain slee 1 1 jar M2 REPO javax slee jain slee bi du Figure 8 9 JAIN SLEE Resource Adaptor Type created in workspace using EclipSLEE 8 2 Editing a JAIN SLEE Resource Adaptor Type It is possible with EclipSLEE to edit existing components When right clicking in one of the JAIN SLEE Resource Adaptor Type classes a similar menu should be shown 93 Chapter 8 Building JAIN SLEE Java EE MobicentsDemoProject profile spec src main resources META Or Gr G Gr BAS GB Z2 BE oro Gr orer gt FE T m x event jar xmi X profile spec jar xmi aa a YA MobicentsDemoProject lt xml version 1 8 encoding utf gt i Run As P GS events sre main java lt DOCTYPE profile spec jar PUBLIC Sun Microsystem b G3
47. ame gt demo profile spec lt profile spec name gt gt 2 profile spec src main resources lt profile spec vendor gt mobicents org lt profile spec vendor gt V Sratype src main java lt profile spec version gt 1 lt profile spec version gt Y H org mobicents demo lt profile classes gt gt J DemoLongLifeActivity java lt profile cmp interface name gt org mobicents demo MobicentsDemoProfileCMP lt profile c gt 3 DemoShortLifeActivity java lt profile management interface name gt org mobicents demo MobicentsDemoProfileManagem gt 7 MobicentsDemoActi Coitada lt profile management abstract class name gt org mobicents demo MobicentsDemoProfileMa o ican sDemo y on extinterfaceFac aie le clanpeas gt J MobicentsDemoProvider java lt profile index unique False gt count lt profile index gt V Sratype src main resources lt profile spec gt V META INF lt profile spec jar gt Fi resource adaptor type jar xml gt 3 ra src main java New gt gt Sra src main resources pinse Show In NW P gt 2 du src main resources O gt M JRE System Library JVM Contents May YPEN F3 gt org jain slee 1 1 jar M2_REPO javax sli Open With gt gt du gt SS events Copy xc aaa KID gt profile spec Copy Qualified Name gt gt ra 5 Paste SEV ors M Data Source Explorer 53 Snippets 4 meg X Delete D b gt seid gt Remove from Context VaR a Resource Path Location Type R pom xml a Mark as Landmark COST
48. ation In PDF and paper editions this manual uses typefaces drawn from the Liberation Fonts https fedorahosted org liberation fonts set The Liberation Fonts set is also used in HTML editions if the set is installed on your system If not alternative but equivalent typefaces are displayed Note Red Hat Enterprise Linux 5 and later includes the Liberation Fonts set by default 1 1 Typographic Conventions Four typographic conventions are used to call attention to specific words and phrases These conventions and the circumstances they apply to are as follows Mono spaced Bold Used to highlight system input including shell commands file names and paths Also used to highlight key caps and key combinations For example To see the contents of the file my next bestselling novel in your current working directory enter the cat my next bestselling novel command at the shell prompt and press Enter to execute the command The above includes a file name a shell command and a key cap all presented in Mono spaced Bold and all distinguishable thanks to context Key combinations can be distinguished from key caps by the hyphen connecting each part of a key combination For example Press Enter to execute the command Press Ctrl Alt F1 to switch to the first virtual terminal Press Ctrl Alt F7 to return to your X Windows session The first sentence highlights the particular key cap to press The second highlights two sets of three
49. ava sun com javase downloads index_jdk5 jsp Click on the Download link next to JDK 5 0 Update lt x gt where lt x gt is the latest minor version release number On the next page select your language and platform both architecture whether 32 or 64 bit and operating 1 At this point in time it is possible to run most Mobicents servers such as the JAIN SLEE using a Java 6 JRE or JDK Be aware however that presently the XML Document Management Server does not run on Java 6 We suggest checking the Mobicents web site forums or discussion pages if you need to inquire about the status of running the XML Document Management Server with Java 6 121 Appendix A Java Development system read and agree to the Java Development Kit 5 0 License Agreement and proceed to the download page The Sun website will present two download alternatives to you one is an RPM inside a self extracting file for example jak 1 5 0 16 linux i586 rpm bin and the other is merely a self extracting file e g jak 1 5 0 16 linux i586 bin If you are installing the JDK on Red Hat Enterprise Linux Fedora or another RPM based Linux system we suggest that you download the self extracting file containing the RPM package which will set up and use the SysV service scripts in addition to installing the JDK We also suggest installing the self extracting RPM file if you will be running Mobicents in a production environment Installing The following proc
50. avax sip jain sip api 1 2 compile r Add Maven Dependency Figure 3 14 Selecting Remove Maven Dependency in EclipSLEE This will present a confirmation dialog to confirm the removal of the maven dependency 20 Removing a Maven Dependency ANC Confirmation You have chosen to delete the following Maven dependency Group Id javax sip Artifact Id jain sip api Version 12 Scope compile Really remove this dependency Figure 3 15 Maven Dependency removal confirmation Dialog Click on Yes to remove the maven dependency from the module and if needed update the classpath Clicking No cancels the operation without performing any action 21 22 Chapter 4 Building JAIN SLEE Events EclipSLEE provides means to create edit and delete JAIN SLEE Events 4 1 Creating a JAIN SLEE Event To create a component it may be easier but not mandatory to first create a package to contain it This package should be created as a child of the lt event module gt src main java folder To do this right click on the src folder and select New Package Give the new package a name using the popup dialog shown below aoe New Java Package Java Package 3 Create a new Java package p F Creates folders corresponding to packages Source folder MobicentsDemoProject events src main java Browse Name a of Cancel Figure 4 1 Creating a new Package in Eclipse In case a new package is not created
51. b events sre main resources Y sbb src main java Y H org mobicents demo b J MobicentsDemoSbb java b J MobicentsDemoSbbActivityContextinterfaci J MobicentsDemoSbbLocalObject java I MobicentsDemoSbbUsage java YF E sbb src main resources Y E META INF x sbb jar xml b 22 profile spec src main java H 28 profile spec src main resources TE Tr SE I MobicentsDemoSbbLoca package org mobicents demo import jovax slee public abstract class MobicentsDemoSbb implements javax s E public void onDemoEvent org mobicents demo MobicentsDe f f TODO Perform further operations if required in the public void setSbbContext SbbContext context this public void unsetSbbContext this sbbContext null FA ff TODO Implement the Lifecycle methods if required E3 du src main resources EN public void sbbCreate throws javax slee CreateExcepi P m JRE System Library YM Contents MacOS X Defar f2 public void sbbPostCreate throws javax slee CreateE b ud jain slee 1 1 jar M2_REPO javax slee jain slee gt public void sbbActivate i gt Edu EN public void sbbPassivate ran ublic void sbbRemove P Be events R public void sbbloadt b ig profile spec P public void sbbStore gt sbb EN public void sbbExceptionThromn Exception exception Ol gt target ran public void sbbRolledBack RolledBackContext context M FL nmm ow nal Figure 6 19 JAIN SLEE SBB created in works
52. bicents org Select Profile Deselect Profile Selected profile specifications Name Version Vendor Scoped Name Address Profile Specification None lt Back _Next gt net Finish Figure 6 14 JAIN SLEE SBB Profile Specifications selection in EclipSLEE The profile selection dialog contains a list of all the profiles the plugin could find in your project This includes any profiles that were installed as external components If your custom profiles are not listed verify that they have been compiled and the jars folder refreshed Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use other component profiles specification in your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it For each profile specification the SBB should reference 56 Creating a JAIN SLEE Service Building Block SBB 1 Highlight the profile specification in the available profiles table 2 Click Select Profile 3 Review the Scoped Name and change if required 4 If your SBB should contain an Address Profile Specification select it from the drop down list Click Next to proceed to the child SBB s dialog are JAIN SLEE Service Building Block Wizard Select this SBB s children
53. bicentsDemoProfileCMP java Finish Figure 5 4 Selecting the package and name for a new JAIN SLEE Profile Specification in EclipSLEE The source folder and package dialogs will be completed if New Other has been selected from right clicking on a package Otherwise it may need to be chosen by selecting Browse and selecting the desired locations or typing it s name in the appropriate field and it will be created in the end Name the Profile Specification the name must end with ProfilecMP java Then click Next to go to the component identity dialog pictured below 38 Creating a JAIN SLEE Profile Specification ANDO JAIN SLEE Profile Specification Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name demo profile spec Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Profile Specification F CA SS 2 z Back Next gt d Cancel Figure 5 5 JAIN SLEE Profile Specification Identity dialog in EclipSLEE The Name Vendor and Version fields are mandatory and are used by the SLEE to identify the profile specification The description field is optional but strongly recommended to be completed to allow easy identification of the profile specification in future After completing these fields click Next to specify the profile specification s Libraries 39 Chapter 5 Building JAIN SLEE AO JAIN SLEE Wizard Specify the Li
54. braries Available libraries Name Version Vendor sip services library 1 2 org mobicents Select Library Deselect Library Selected libraries Version Vendor Q Finish Figure 5 6 JAIN SLEE Profile Spec Libraries dialog in EclipSLEE This dialog allows to select which JAIN SLEE Libraries this profile specification should reference in it s descriptor Select them from the top list Available Libraries by clicking Select Library To remove them select them from the bottom list Selected Libraries and click Deselect Library When done click Next to define the profile specification s CMP fields 40 Creating a JAIN SLEE Profile Specification are JAIN SLEE Profile Specification Wizard Specify the profile s CMP fields and their visibility to management clients here Name Type Visible Indexed Unique C add count int Mo Yes No name java lang String Yes No No saci vi Create profile abstract class 7 Back Figure 5 7 JAIN SLEE Profile Specification CMP Fields definition in EclipSLEE To add a CMP field click on Add This will add a blank row to the table To edit the name of the field click on the row in the Name column enter the name and press enter The type can be edited in the same way The visible field controls visibility to management clients The indexed field specifies whether or not the CMP field is an indexed attribute A yes value in the
55. ct RA Type Selected resource adaptor types Version Vendor ACI Factory Name Bindings DemoResourceAdaptorType demoACiF Edit Bindings Figure 6 16 JAIN SLEE SBB Resource Adaptor Type Bindings in EclipSLEE The Resource Adaptor Type Bindings dialog contains a list of all the resource adaptor types the plugin could find in your project This includes any resource adaptor types that were installed as external components Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use the SIP11 Resource Adaptor Type for your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it For each resource adaptor type the SBB should reference 1 Highlight the resource adaptor type in the available resource adaptor types table 59 Chapter 6 Building JAIN SLEE 2 Click Select RA Type 3 Optionally specify the Activity Context Interface Factory Name 4 If the RA Type should have resource adaptor entity bindings click Edit Bindings Configure SBB Resource Adap Specify the SBB s resource adaptor entity bindings Object Name Entity Link DeMo dEMQO Figure 6 17 JAIN SLEE SBB Resource Adaptor Type Bindings edit in EclipSLEE 5 For each binding a Click Add to create a new bind
56. ctivity Yes saci vi Create Resource Adaptor Interface Figure 8 8 JAIN SLEE RA Type Activity Objects definition in EclipSLEE Here the RA Type s Activity objects type can be set Add an Activity object by clicking on Add and writing it s Java Type in the Activity Type column and selecting Create to have EclipSLEE creating the interface or not An Activity type can be removed by selecting it in the table and clicking Remove To modify any of the fields click on it and it should be possible to edit change the value In this same wizard page it is possible to define whether to create or not a Resource Adaptor SBB Interface Provider by checking or leaving unchecked the Create Resource Adaptor Interface checkbox Once finished click Finish to create the Resource Adaptor Type 92 Editing a JAIN SLEE Resource Adaptor Type The Resource Adaptor Type Java file MobicentsDemoActivityContextInterfaceFactory java plus the remaining interfaces and classes which were selected at the wizard is created in the specified package and opened for editing in the workspace The ratype jar xml deployment descriptor is updated to reflect the new ratype or created if not already present The resulting workspace can be seen below Cis ere tk Orr B CG S SP SPT TI Olals EEA F om EG J MobicentsDemoActivit I DemoLongLi 4 39 MobicentsDemoProject package org mobicents demo SS events src main java b ES events src m
57. dencies in other modules will be updated to include it 3 2 2 Editing Existing Modules Editing a new module can be done from the workbench by right clicking the Project element and selecting Edit Module lt desired module type gt as illustrated in the following figure for a Resource Adaptor Type 13 Chapter 3 Creating and Manag 5 MobicentsDemoProject gS events src main java 1H Or Or G G10 9 2 New p TETEE ae gt E event jar xml 25 7 CEE Eai i s r i a7 e encoding ut int jar PUBLIC b Sevents src mainfresc Go Into http H E sbb src main java s EVER Bi nition dem este DET 7 riptiomtelipste D b 43 profile spec src mait Copy dC Ke vendo niles b 4 ratype src main java Copy Qualified Name t type version gt 1 b 4 ratype src main reso TE Paste SPV it class name gt org mol b e ra src main java Delete EN lefinition gt pe gt Remove from Context Vol u sre main resourei i gt B JRE System Library jy Build Path d gt fo jain slee 1 Ljar Mi Refactor CHT gt H 2 du gt events g Import H E profile spec p Export bra gt E ratype Refresh F5 b sbb Close Project target Close Unrelated Projects X pom xml Validate Show in Remote Systems view ch Add Module gt Properties drs Servers Edit Module p events sbb r Delete Module p Run As b profile spec Debug As gt Profile As b ra F O
58. e is a tip or shortcut or alternative approach to the task at hand Ignoring a note should have no negative consequences but you might miss out on a trick that makes your life easier Important Important boxes detail things that are easily missed configuration changes that only apply to the current session or services that need restarting before an update will apply Ignoring Important boxes won t cause data loss but may cause irritation and frustration Warning A Warning should not be ignored Ignoring warnings will most likely cause data loss 2 Provide feedback to the authors If you find a typographical error in this manual or if you have thought of a way to make this manual better we would love to hear from you Please submit a report in the ssue Tracker THIS ISSUE TRACKER URL against the product Mobicents JAIN SLEE or contact the authors When submitting a bug report be sure to mention the manuals identifier JAIN _ SLEE User Guide If you have a suggestion for improving the documentation try to be as specific as possible when describing it If you have found an error please include the section number and some of the surrounding text so we can find it easily vill Chapter 1 Introduction to Mobicents JAIN SLEE Eclipse The JAIN SLEE Eclipse Plug in EclipSLEE is designed to help in the creation of the following JAIN SLEE components e Events e Service Building Blocks SBBs e Profile Specification
59. ed by selecting Children and allows to change the Child Relations for the SBB by either changing or removing the existing ones as well as adding new ones The following dialog is presented 70 Edit SBB Resource Adaptor Type Bindings AMG Modify SBB s Child SBBs Available SBBs Name Version Vendor Select SRB Deselect SBB Selected SBBs Name Version Vendor Scoped Name Default Priority Cancel p Figure 6 28 Editing JAIN SLEE Service Building Block Child Relations 6 2 8 Edit SBB Resource Adaptor Type Bindings This operation can be accessed by selecting Resource Adaptor Bindings It allows to modify or remove the existing Resource Adaptor Type bindings for this SBB and to add new ones The following dialog is presented 71 Chapter 6 Building JAIN SLEE AMP Modify SBB Resource Adaptor Types Available resource adaptor types Name Version Vendor DemoResourceAdaptorType 1 0 mobicents org Select RA Type Deselect RA Type S E a Selected resource adaptor types Name Version vendor ACI Factory Name Bindings Fa I Cancel Y ie Figure 6 29 Editing JAIN SLEE Service Building Block Resource Adaptor Type Bindings 6 2 9 Edit SBB Environment Entries This operation can be accessed by selecting Environment Entries It allows to add modify or remove this SBB Environment Entries The following dialog is presented 12 Deleting a JAIN SLEE Service Bu
60. edures detail how to install the Java Development Kit on both Linux and Windows Procedure A 1 Installing the JDK on Linux e Regardless of which file you downloaded you can install it on Linux by simply making sure the file is executable and then running it You Installed Using the Non RPM Installer but Want the li SysV Service Scripts If you download the non RPM self extracting file and installed it and you are running on an RPM based system you can still set up the SysV service scripts by downloading and installing one of the compat packages from the JPackage project Remember to download the compat package which corresponds correctly to the minor release number of the JDK you installed The compat packages are available from Important You do not need to install a compat package in addition to the JDK if you installed the self extracting RPM file The compat package merely performs the same SysV service script set up that the RPM version of the JDK installer does Procedure A 2 Installing the JDK on Windows e Using Explorer simply double click the downloaded self extracting installer and follow the instructions to install the JDK 122 Configuring Configuring your system for the JDK consists in two tasks setting the JAVA HOME environment variable and ensuring that the system is using the proper JDK or JRE using the alternatives command Setting JAVA HOME usually overrides the values for java javac and java
61. ents demo MobicentsL Declarations noProject ratype src main ja ee Debug As Profile As Validate rrr FF hl Team Compare With Replace With Restore from Local History Web Services b T F Modify Resource Adaptor Type Identity Events Properties I Activity Types Delete Figure 8 10 Editing a JAIN SLEE Resource Adaptor Type through class file It is also possible to edit by right clicking on the resource adaptor type jar xml descriptor In that case a sub menu allowing to pick which Resource Adaptor Type to edit is shown 94 Edit RA Type Identity ADA Java EE MobicentsDemoProject profile spec src main resources META INF profile spec jar xml Eclipse Platform F v l O Q G 6G BBFvIGB L2 EG x v or v x B Y SE X event jar xmi X profile spec jar xml ZN A B Outline x Y 13 MobicentsDemoProject lt xml version 1 0 encoding utf 8 gt gt Bevents src main java lt DOCTYPE profile spec jar PUBLIC Sun Microsystems Inc DTD JAIN SLEE Profile Specifica 22 gt GB events sre main resources http java sun com dtd slee profile spec jar 1 dtd gt iy xml ile 4 DOCTYP gt 2 sbb src main java lt profile oe ig ad gt G i lt profile spec gt gt e profile EP sbb src main resources lt description gt EclipSLEE Demonstration Profile Specification lt description gt gt profile spec src main java lt profile spec n
62. erties dl Servers w Data Source Explorer Snippets EE fa 0 items Description ae Resource Path Location Type O 0 items selected Figure 3 5 Newly created project in workspace 3 2 Managing Project Modules It is possible to manage ie add modify and remove modules once the project is created 3 2 1 Adding New Modules Adding a new module can be done from the workbench by right clicking the Project element and selecting Add Module lt desired module type gt as illustrated in the following figure for a Resource Adaptor Type 11 Chapter 3 Creating and Manag Pi Ge Q 15 6 a0 7 19 E MobicentsDemoProject P 7 events src main java New b Bevents src mainjreso Go Into H E sbb src main java b 3 sbb src main resourt Show In b 3 profile spec src mair 3J28Q a os 2 xml versions 1 0 encoding utf amp b nt jar PUBLIC Sun Microsystems http java sun con p Finition gt ription gt EclipSLEE Demonstration Ev t type name gt demo events lt event tyg b G3 profile spec src mair Copy C t type vendor gt mobicents org lt event b ratype src main java 55 Copy Qu alified Name type versions1 lt event type ver b 4 ratype sre mainfreso Paste yy t class name gt o rg mobicents demo Mc b G8 ra sre mainfjava Delete D efinition gt b 3 ra src main resource 7 b B du sre main resourd gt Remove from Context VO HL gt BARE System Library v Build Path gt b ud
63. g the Mobicents JAIN SLEE 1 1 specific extensions You can find more information about these extensions on the Mobicents JAIN SLEE User Guide Chapter 3 Creating and Manag anO JAIN SLEE Modules and Extensions Please select the desired JAIN SLEE modules for your project and whether to use or not Mobicents JAIN SLEE 1 1 Extensions Extensions wi Use Mobicents JAIN SLEE 1 1 Extensions mi Events M SBB Service Building Block Profile Specification C Resource Adaptor Type Resource Adaptor C Library v De plovable Unit AR Back Next gt Fa k Figure 3 4 Choosing Name and Location of the JAIN SLEE Project Click on Finish and the project with all the modules will be created in the selected location The following image depicts a workspace with a newly created JAIN SLEE project with the project folder MobicentsDemoProject expanded 10 Managing Project Modules ane Java EE Eclipse Users ammendonca work temp workspace r Hr O Q A AA EA E vq vo EY 78 Java EE Proj A B outline X E Task Lis a 7 v Hf MobicentsDemoProject An outline is not available events src main java events src main resources sbb src main java GC sbb src main resources E du src main resources gt mA JRE System Library VM Contents M gt ova jain slee 1 1 jar M2 REPO javax gt amp du gt amp events gt amp sbb gt target m pom xml B Markers 83 B Prop
64. get the following dialog 76 Creating a JAIN SLEE Service 80 JAIN SLEE Base Wizard Choose the Container package that this component should be created in then choose a name for its main Java file Geese ENE NENNE OCS Source Folder MobicentsDemoProject du src main resources Browse ee Package Browse Component File Name demo service xml ir a 5 a viei P lt Back Wext gt Cancel Finisl Figure 7 3 Selecting the package and name for a new JAIN SLEE Service in EclipSLEE The source folder dialog will be completed if New Other has been selected from right clicking on the deployable unit module resources folder Otherwise it may need to be chosen by selecting Browse and selecting the desired location Name the service the name must end with service xm1 then click Next to specify the service s SLEE identity 1 Chapter 7 Building JAIN SLEE ANE JAIN SLEE Base Wizard Specify the Name Vendor and Version as used by the SLEE to identify the component Name DemoService Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Service ry e E iaai 2 lt Back Cancel Finis Figure 7 4 JAIN SLEE Service Identity dialog in EclipSLEE The Name Vendor and Version fields are mandatory and are used by the SLEE to identify the event The description field is optional b
65. hoose the type of component from the Component Type dropdown menu The options Enabler Resource Adaptor Type and Library are available 2 Fill the mandatory fields Group ID Artifact ID Version 3 Optionally fill the Description entry which is what is shown later in the component selection list If not filled lt Group ID gt lt Artifact ID gt lt Version gt will be shown 119 Chapter 11 Configuring Mobic 4 Click Add Component 11 2 2 Editing a Component Template For simplicity editing is only allowed for the version of the component template To do so 1 Double click the entry in the list 2 The version field will become editable Change it to the desired value 3 Click some other entry so the changes are accepted 11 2 3 Removing a Component Template To remove a component from the template list 1 Select the entry in the list 2 Click Remove Component 120 Appendix A Java Development Kit JDK Installing Configuring and Running The Mobicents Platform is written in Java therefore before running any Mobicents server you must have a working Java Runtime Environment JRE or Java Development Kit JDK installed on your system In addition the JRE or JDK you are using to run Mobicents must be version Dor higher Should I Install the JRE or JDK Although you can run Mobicents servers using the Java Runtime Environment we assume that most users are developers interested in developing Java
66. ies ie Config Properties Delete Figure 9 10 Editing a JAIN SLEE Resource Adaptor through class file It is also possible to edit by right clicking on the resource adaptor jar xml descriptor In that case a sub menu allowing to pick which Resource Adaptor to edit is shown 110 Ci IHOQ Br G6 B Fv G L2 2ERA X v a Qv v gt 8 events src main java gt CS events src main resources gt G3 sbb src main java gt sbb src main resources gt profile spec src main java gt g profile spec src main resources gt S ratype src main java gt g ratype src main resources v SB ra src main java v 8 org mobicents demo gt J MobicentsDemoMarshaler java Vv Sra src main resources V META INF Fi resource adaptor jar xml gt 3 du src main resources gt g JRE System Library JVM Contents gt org jain slee 1 1 jar M2 REPO javi gt du gt 43 events gt profile spec gt fra gt ratype gt amp sbb gt target X pom xml n X resource adaptor jar xml T gt J MobicentsDemoProviderlmpl java gt J MobicentsDemoResourceAdaptor java Edit RA Identity Java EE MobicentsDemoProject events src main resources META INF event jar xml Eclipse Platform YS l X event jar xml X lt event jar gt New Show In NW Open Open With Copy 53 Copy Qualified Name B Paste Delete gt Remove from Context si Mark as La
67. ilding Block SBB oe a Modify SBB Environment Entries Name Type Value Description profileTable java lang String DemoProfileTable Config Profile Table profile java lang String DemoProfile Config Profile il k EEE Figure 6 30 Editing JAIN SLEE Service Building Block Environment Entries 6 3 Deleting a JAIN SLEE Service Building Block SBB It is possible with EclipSLEE to delete existing components Right clicking in one of the JAIN SLEE Service Building Block classes or XML descriptor file see Section 6 2 Editing a JAIN SLEE Service Building Block SBB and selecting the Delete option A confirmation dialog similar to the following should be presented ANC Confirmation 1 You have chosen to delete the following service building block Name demo sbb Vendor mobicents org Version 1 0 Really delete this service building block Figure 6 31 Deleting a JAIN SLEE Service Building Block confirmation dialog 13 Chapter 6 Building JAIN SLEE Impossible to undo this operation Deleting a component Is an irreversible operation so it should be used carefully 74 Chapter 7 Building JAIN SLEE Services EclipSLEE provides means to create edit and delete JAIN SLEE Services 7 1 Creating a JAIN SLEE Service The JAIN SLEE Service does not have a Maven module instead it s part of the Deployable Unit module resources To create a new JAIN SLEE Service expand completely the du module folders
68. ing b Specify the bindings JNDI object name c Optionally specify the resource adaptor entity link name 6 Click OK to apply these bindings to the resource adaptor type Click Next to edit the SBB s environment entries 60 Creating a JAIN SLEE Service Building Block SBB JAIN SLEE Service Building Block Wizard Specify the SBB s Environment Entries profileTable profile java lang String DemoProfileTable Config Profile Table java lang String DemoProfile Config Profile Figure 6 18 JAIN SLEE SBB Environment Entries definition in EclipSLEE Add an environment entry with the Add button Set its name type value and optionally description in the table Do this for each environment entry Then click Finish to create the SBB The SBB Java file MobicentsDemoSbb java plus the remaining interfaces and classes which were selected at the wizard is created in the specified package and opened for editing in the workspace The sbb jar xml deployment descriptor is updated to reflect the new sbb or created if not already present The resulting workspace can be seen below 61 Chapter 6 Building JAIN SLEE OOO Java EE MobicentsDemoProject sbb src main java org mobicents demo MobicentsDemoSbb jav Ca Blw Ol QU 3 6 o0 P Ao em ale He woo fe Project Explorer aN H T SD D J Mobicen ria MobicentsDemoProject F events src main java
69. ired event the menu shown should be similar to the one presented when using the class file to edit The following actions are available for a JAIN SLEE Event 4 2 1 Edit Event Identity With this operation it is possible to change the JAIN SLEE Event identity name vendor version and it s description The following dialog is presented 31 Chapter 4 Building JAIN SLEE ity component Identity Name demo events Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration Events Figure 4 10 Editing JAIN SLEE Event Identity Other components are not updated EclipSLEE does not automatically update other component descriptors in order to reflect such identity change so it should be made manually 4 3 Deleting a JAIN SLEE Event It is possible with EclipSLEE to delete existing components Right clicking in one of the JAIN SLEE Event classes or XML descriptor file see Section 4 2 Editing a JAIN SLEE Event and selecting the Delete option A confirmation dialog similar to the following should be presented 32 Deleting a JAIN SLEE Event You have chosen to delete the following event Name demo events Vendor mobicents org Version 1 0 Really delete this event Figure 4 11 Deleting a JAIN SLEE Event confirmation dialog Impossible to undo this operation Deleting a component is an irreversible operation so it should be used carefully 33 34 Chapter 5
70. it can be customized in the Plugin preferences See Section 11 2 Component Templates Configuration for more information Click on Finish and the new dependency will be added to the module s pom file and if selected the classpath updated with the new entry 19 Chapter 3 Creating and Manag 3 3 2 Removing a Maven Dependency Removing a Maven dependency can be done from the workbench by right clicking the desired module pom file and selecting Remove Maven Dependency gt lt desired dependency gt as illustrated in the following figure OOO Java EE Eclipse Users ammendonca work te w Eaa Or era a EAA E OE E HF MobicentsDemoProject b 8 events src main java b ES events src main resources H E sbb src main java 23 sbb src main resources 8 du src main resources P mt JRE System Library VM Contents M a ad jain slee 1 1 jar M2 REPO javax s ard jain sip api 1 2 jar M2 REPO java b 2 du 2 events sre pi POm X x grr os d P ie target Show In CHW gt iM pom xml Open F3 Open With b Copy EC 53 Copy Qualified Name Paste EV X Delete Re e es GL Servers hee Data Source Explorer Snippets gt Remove from Context itdt J Bp Servers ME Data Source Explorer i Srippets _ oi Mark as Landmark Build Path P Move Rename F2 t Import p Export Refresh F5 PER Validate Show in Remote Systems view Remove Maven Dependency j
71. key caps each set pressed simultaneously If source code Is discussed class names methods functions variable names and returned values mentioned within a paragraph will be presented as above in Mono spaced Bold For example File related classes include filesystem for file systems file for files and dir for directories Each class has its own associated set of permissions Proportional Bold This denotes words or phrases encountered on a system including application names dialogue box text labelled buttons check box and radio button labels menu titles and sub menu titles For example Preface The above text includes application names system wide menu names and items application menu names and buttons and text found within a GUI interface all presented in specific Choose System gt Preferences gt Mouse from the main menu bar to launch Mouse Preferences In the Buttons tab click the Left handed mouse check box and click Close to switch the primary mouse button from the left to the right making the mouse suitable for use in the left hand To insert a special character into a gedit file choose Applications gt Accessories gt Character Map from the main menu bar Next choose Search gt Find from the Character Map menu bar type the name of the character in the Search field and click Next The character you sought will be highlighted in the Character Table Double click this highlighted character to place it in the
72. main i type name gt demo evi b profile spec src main Copy aC Boe vendor gt mobtice b 3 ratype src main java e Copy Qualified Name type version gt 1 lt b Bratype src main resou Paste SEV class name gt org mot b 3 ra src main java x Delete D Finitions b 8 ra src main resources gt Gd gt Remove from Context VO 31 ufsre main resource gt B JRE System Library wN Build Path gt b fad jain slee 1 1jar M2 Refactor THT b b 2 du gt Es events gg Import b profile spec p Export b gra b E ratype Refresh F5 P sbb Close Project gt target Close Unrelated Projects X pom xml Validate Show in Remote Systems view r Add Module gt i Edit Module p gt others Delete Module events P Run As b sbb Debug As j profile spec Profile As gt Team b ra r A ENE Wela eel Figure 3 10 Selecting Delete Module in EclipSLEE This will present a confirmation dialog to confirm the deletion of the module Impossible to undo this operation Deleting a module is an irreversible operation so it should be used carefully 16 Managing Project Dependencies AAC Confirmation i You have chosen to delete the following module Name custom ratype Really delete this module Figure 3 11 Module deletion confirmation Dialog Click on Yes to delete the module and update references in other modules Clicking No cancels the operation without performing any acti
73. n Remote Systems view Modify Service Building Block SBB E demo sbb 1 0 mobicents org Identity Debug As p CMP Fields Profile As p Usage Parameters Team b Events Compare With P Profiles Replace With p Children Source pe Resource Adaptor Bindings WikiText Environment Entries JPA Tools ie Figure 6 21 descriptor Delete 6 Dranartiac Editing JAIN SLEE Service Building Blocks through XML After selecting the desired Service Building Block the menu shown should be similar to the one presented when using the class file to edit The following actions are available for a JAIN SLEE Service Building Block 6 2 1 Edit SBB Identity This operation can be accessed by selecting Identity and allows to change the JAIN SLEE Service Building Block identity name vendor version and it s description The following dialog is presented 64 Edit SBB Classes Name demo sbb Vendor mobicents org Version 1 0 Description EclipSLEE Demonstration SBE Figure 6 22 Editing JAIN SLEE Service Building Block Identity Other components are not updated EclipSLEE does not automatically update other component descriptors in order to reflect such identity change so it should be made manually 6 2 2 Edit SBB Classes This operation can be accessed by selecting Classes and allows to change which companion classes for the SBB should exist The following dialog is p
74. nd or by setting JAVA_HOME Uninstalling the JDK on Linux On RPM based systems you can uninstall the JDK using the yum remove lt jdk_rpm_name gt Command Uninstalling the JDK on Windows On Windows systems check the JDK entry in the start menu for an uninstall command or use Add Remove Programs 124 Appendix B Setting the JBOSS HOME Environment Variable The Mobicents Platform Mobicents is built on top of the JBoss Application Server You do not need to set the JBoSS HOME environment variable to run any of the Mobicents Platform servers unless JBOSS HOME IS already set The best way to know for sure whether JBOSS HOME Was set previously or not is to perform a simple check which may save you time and frustration Checking to See If JBOSS HOME is Set on Unix At the command line echo JBOSS HOME to see if it is currently defined in your environment The Mobicents Platform and most Mobicents servers are built on top of the JBoss Application Server JBoss Application Server When the Mobicents Platform or Mobicents servers are built from source then JBOSS_HOME must be set because the Mobicents files are installed into or over top of if you prefer a clean JBoss Application Server installation and the build process assumes that the location pointed to by the JBosSs HoME environment variable at the time of building is the JBoss Application Server installation into which you want it to install the Mobicents files This g
75. ndmark Build Path Move Rename gs Import 24 Export Refresh Validate Show in Remote Systems view Modify Resource Adaptor lt xml version 1 8 encoding utf 8 gt lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN SLEE Event 1 1 EN lt description gt EclipSLEE Demonstration Events lt description gt lt event type name gt demo events lt event type name gt lt event type vendor gt mobicents org lt event type vendor gt lt event type version gt 1 lt event type version gt lt event class name gt org mobicents demo MobicentsDemoEvent lt event class name gt lt event definition gt m B Outline http java sun com dtd slee event jar_1_1 dtd gt 2 xml 3 lt event jar gt 47 DOCT S lt event definition gt gt e event gt gt F3 gt aC Servers M Data Source Explorer 3 Snippets V i i b gt pa Resource Path Location Type XV Mass xat gt F2 IETA INF F5 Run As Debug As Profile As Team P DemoResourceAdaptor 1 0 mobicents org Identity gt _ Resource Adaptor Types gt Configuration Properties d d Delete Figure 9 11 Editing JAIN SLEE Resource Adaptors through XML descriptor After selecting the desired Resource Adaptor the menu shown should be similar to the one presented when using the class file to edit The following actions are available for a JAIN SLEE Resource Adaptor 9
76. oProject import java util Random l v events src main java Y 8 org mobicents demo public final class MobicentsDemoEvent implements Serializable I P PT MobicentsDemoEvent java id new RandomC nextLong System currentTimeMillis Y E META INF x event jar xml BF sbb sre main java public boolean equals Object o I E sbb src main resources if o this return true 8 du src main resources SS if o null return false P JRE System Library YM Contents M S return o instanceof MobicentsDemoEvent amp amp MobicentsDe gt f jain slee 1 1 jar M2_REPO javax d b du gt Gp events a E public int hashCode I gt E sbb return int id b target lea pom xml am E public String tostring I return MobicentsDemoEvent hashlode I Figure 4 7 JAIN SLEE Event created in workspace using EclipSLEE 4 2 Editing a JAIN SLEE Event It is possible with EclipSLEE to edit existing components When right clicking in one of the JAIN SLEE Event classes a similar menu should be shown 29 Chapter 4 Building JAIN SLEE ES 194 MobicentsDemoProject Y Fi events src main java Y 8 org mobicents demo A MobicentsDemoEvent java b 3 events src main resources gt E sbb src main java b 3 sbb src main resources b 3 profile spec src main java b profile spec src main resources b 3 ratype src main java b 3 ratype src main resources HP ra src mainjava b 43 ra src main reso
77. obicentsDemoMarshaler java The ResourceAdaptorContext b J MobicentsDemoProviderImpl java provides the Resource Adapt b T MobicentsDemoResourceAdaptor java to execute its work The Re Y E8 ra src main resources to a number of objects that Y E META INF resource adaptor object i X resource adaptor jar xml object when the setResource interface is invoked on the gt mu JRE System Library JVM Contents MacOS X Defa oo jain slee 1 1 jar M2 REPO javax slee jain slee os 2 du b OL events my FT y private ResourceAdaptorContext Figure 9 9 JAIN SLEE Resource Adaptor created in workspace using EclipSLEE 9 2 Editing a JAIN SLEE Resource Adaptor It is possible with EclipSLEE to edit existing components When right clicking in one of the JAIN SLEE Resource Adaptor classes a similar menu should be shown 109 Chapter 9 Building JAIN SLEE ee ee java EE MobicentsDemoProject events src main resources META INF event F4 O0 Q G Gr S Ge B BH je ear eS aN 77E E event jar xml aN lt xml Version 1 encoding utf 8 gt lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN http Jjava sun com dtd slee event TJ MobicentsDemoProject b 8 events src main java b events src main resources b S sbb src main java 8 sbb src main resources b 2 profile spec src main java b 2 profile spec src main resources b 23 ratype src main java b ratype
78. on 3 3 Managing Project Dependencies Maven dependencies for each module can be added or removed using EclipSLEE After these dependencies are added the classpath is updated by running the Maven mobicents eclipse target The entries in the classpath are not only used for the usual project classpath but also for allowing the plugin to find available JAIN SLEE Components for the wizards to be used in the project such as Events RA Types and SBBs relative to the platform Resource Adaptors and Enablers 3 3 1 Adding a New Maven Dependency Adding a new maven dependency can be done from the workbench by right clicking the desired module pom file and selecting Add Maven Dependency as illustrated in the following figure 17 Chapter 3 Creating and Manag ANP Java cae O Q G G Soev Ol alo Y3 MobicentsDemoProject b EZ events srcf main java b 8 events src main resources b E sbb srce main java P E sbb src main resources b 48 du src main resources P md JRE System Library JVM Contents M gt jag jain slee 1 1 jar M2 REPO javax s P du events P sre Validate Show in Remote Systems view ee New gt P ia target Show In xw gt ia pom xml Open F3 Open With b Copy C 6 Copy Qualified Name Paste EV X Delete EN gt Remove from Context it I lo sil Mark as Landmark VoETt F Build Path an Move Rename F2 t3 Import p Export Refre
79. pace using EclipSLEE 6 2 Editing a JAIN SLEE Service Building Block SBB It is possible with EclipSLEE to edit existing components When right clicking in one of the JAIN SLEE Service Building Block classes a similar menu should be shown 62 Editing a JAIN SLEE Service Building Block SBB ASe l _ Java EE MobicentsDemoProject events src main resources META INF event F r v O Q G 6 eoe O9 BlEBS oes Geos z mill fm event jar xmi MN Fidi MobicentsDemoProject b SS events src main java b E events src main resources Y 3 sbb src main java Y H org mobicents demo bk Fj MobicentsDemoSbb java b J MobicentsDemoSbbActivit b J MobicentsDemoSbbLecalC New SB xevent jar gt lt event definition gt edescription gt EclipSLEE Demonstration Events lt description lt xml version 1 0 encoding utf amp 8 gt lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN http Java sun com dtd slee event j events lt event type name gt Ibicents org lt event type vendor gt L lt event type version gt b J MobicentsDemoSbbUsage Open Type Hierarchy i F4 g mobicents demo MobicentsDemoEvent b 28 sbb src main resources Show In NEW b 2 profile spec src main java Open F3 b 8 profile spec src main resource Open With gt b 28 ratype src main java b 28 ratype src main resources Copy aC b S ra src main java ES Copy Qualified Name b 8 ra src main resources
80. pe in the Type column and this is optional type a default value if no value is to be set delete the default which is inserted in the Default Value column In this same wizard page it is possible to define whether this Resource Adaptor supports reconfiguration when in ACTIVE state by checking or leaving unchecked the This Resource Adaptor supports active reconfiguration checkbox Once finished click Finish to create the Resource Adaptor Type 108 Editing a JAIN SLEE Resource Adaptor The Resource Adaptor Java file MobicentsDemoResourceAdaptor java plus the remaining interfaces and classes which were selected at the wizard is created in the specified package and opened for editing in the workspace The ra jar xml1 deployment descriptor is updated to reflect the new ratype or created if not already present The resulting workspace can be seen below eo pr F og YA MobicentsDemoProject SS events src main java b Aevents src main resources gt 3 sbb src main java b 3 sbb src main resources b ES profile spec src main java b 3 profile spec src main resources package org mobicents demo import javax slee public class MobicentsDemoResource private static final long seri 48 du src main resources private Integer listeningPort b GS ratype src main java private String ipAddress 12 b G ratype src main resources private Boolean useloadBalance Vi Prafsrc main java Y JB org mobicents demo z T J M
81. priate EclipSLEE version click Next and follow the instructions in the Eclipse Wizard 5 Allow Eclipse to restart 2 3 Uninstall Mobicents EclipSLEE To uninstall follow these steps 1 Open Eclipse 2 Go to Help gt Install New Software 3 Click on What s already installed 4 Locate EclipSLEE plugin and click Uninstall Uninstall Mobicents EclipSLEE 5 Restart Eclipse Chapter 3 Creating and Managing a JAIN SLEE Project 3 1 Creating a JAIN SLEE Project It is necessary to create a JAIN SLEE project before JAIN SLEE components may be created This can be done from the workbench by selecting File gt New Project as illustrated in the following figure Eclipse Edit Navigate Search Project Run Window Help BOO ass a ME i IPA Project s F r R E F Enterprise Application Project IRS Project Explorer Close de W 05 Dynamic Web Project a Close All HW EJB Project an iii S vn ser Project Save As te ode gi Static Web Project Save All Oo S TET Revert i Project rojedt Move amp Servlet Rename F2 Eg Session Bean EJB 3 x Refresh F5 E Message Driven Bean EJB 3 x Convert Line Delimiters To p Entity m Web Service Print a6 I C Folder Switch Workspace p LiFile dd FY Example a Import 3 Export FY Other EN Properties I rr Figure 3 1 Selecting New Project in Eclipse This will create a New Project dialog as shown below F
82. r presenting the title of a work italics denotes the first use of a new and imp vi ortant term For example When the Apache HTTP Server accepts requests it dispatches child processes or threads to handle them This group of child processes or threads is known as Pull quote Conventions a server pool Under Apache HTTP Server 2 0 the responsibility for creating and maintaining these server pools has been abstracted to a group of modules called Multi Processing Modules MPMs Unlike other modules only one module from the MPM group can be loaded by the Apache HTTP Server 1 2 Pull quote Conventions Two commonly multi line data types are set off visually from the surrounding text Output sent to a terminal is set in Mono spaced Roman and presented thus Source code listings are also set in Mono spaced Roman but are presented and highlighted as follows package org jboss book jca ex 1 import javax naming InitialContext public class ExClient public static void main String args throws Exception InitialContext iniCtx new InitialContext Object ref iniCtx lookup EchoBean EchoHome home EchoHome ref Echo echo home create System out printIn Created Echo System out printlin Echo echo Hello echo echo Hello 1 3 Notes and Warnings Finally we use three visual styles to draw attention to information that might otherwise be overlooked vil Preface i Note A not
83. resented 65 Chapter 6 Building JAIN SLEE cal Create custom Activity Context Interface Create custom SBB Local Object interface Figure 6 23 Editing JAIN SLEE Service Building Block Classes Impossible to undo delete operations Unchecking an option will delete the corresponding class an irreversible operation so it should be used carefully 6 2 3 Edit SBB CMP Fields This operation can be accessed by selecting CMP Fields and allows to Add Remove or Modify the existing SBB CMP fields The following dialog is presented 66 Edit SBB Usage Parameters AIO Modify SBB CMP Fields Name Type Stored SBB Modify demoCount int N A F Modify I Cancel Figure 6 24 Editing JAIN SLEE Service Building Block CMP Fields 6 2 4 Edit SBB Usage Parameters This operation can be accessed by selecting Usage Parameters and allows to change whether an Usage interface should be created and to Add or Remove SBB Usage Parameters The following dialog is presented 67 Chapter 6 Building JAIN SLEE increment Cancel Figure 6 25 Editing JAIN SLEE Service Building Block Usage Parameters Impossible to undo delete operations Unchecking an option will delete the corresponding class an irreversible operation so it should be used carefully 6 2 5 Edit SBB Events This operation can be accessed by selecting Events and allows to change the even
84. rom this dialog expand JAIN SLEE then select the revealed JAIN SLEE Project Click Next to proceed to chosing a name and location for the new project Chapter 3 Creating and Manag Select a wizard Wizards type filter text Java Project Java Project from Existing Ant Buildfile m Plug in Project HA General b E CVS b Eclipse Modeling Framework HE EJB Y GS JAIN SLEE EF JAIN SLEE Project P Java b 2 Java EE b 2 JavaScript HA JPA b Maven Figure 3 2 Choosing a JAIN SLEE Project Give the project a name and if desired specify a non default location For the majority of people the default location will be fine this is the current workspace The following image shows a project with the name of MobicentsDemoProject in the default location Click Next to proceed to module selection or Finish to go with default SBBs and Deployable Unit Creating a JAIN SLEE Project J RG JAIN SLEE 1 1 Project Wizard Name the JAIN SLEE project Project name Use default location Location Users ammendonca work temp workspace MobicentsDemi Browse Choose file system default i LS JE LL lt Back Next gt Cancel Figure 3 3 Choosing Name and Location of the JAIN SLEE Project Choose the desired project modules to be created from the list as shown below The correct Maven modules will be created according to the selection as well as the Deployable Unit descriptor You can also opt for usin
85. rrrrnrrnornornernernernernernernernernernernernernn 7 3 1 Creating a JAIN SLEE Project rarrarnernnnarvarnannrnarnennnnnrnernennrnarnennnnnrnennannsnannennsnee 7 3 2 Managing Project Modules rrarnnnnnnnrnennnvarnennannrnernannnnernennnnarnennanurnennannenennennene 11 2 PONG New MOE ee 11 3 2 2 Editing Existing Modules rrarnnrnrnnrnnnnnvarnernnvnrnernnrnrrarnnrnnnnrnennnnnnnennannene 13 3 2 3 Removing Existing Modules rrarrarnrnnnvarnennavnrnernannrvernennannrnennannrnennennene 15 3 3 Managing Project Dependencies rnrnnnnnrnennnvnrnennannnnarnennnnnrnennannenernennnnnenennsnnen 17 3 3 1 Adding a New Maven Dependency rrrnrnnrnvnnnnnrnvenennvnnenennennenennenneneenennnn 17 3 3 2 Removing a Maven Dependency cccccecseceeceeeeceeceeseeeeseeseeseeeeseeaeees 20 4 Building JAIN SLEE Events cccccccccccccccec cece eee eee eee eee eeeeeeeeeeeeeeeeeeeeaeeeeseeeeeaes 23 4 1 Creating a JAIN SLEE Event rrarnnnannernennannrnennavnrnernannrnernannrnernennsnnenennannenennnnnen 23 12 BENN LEE BNP 29 4 2 1 Edit Event Identity rrrnrnnrnernnnnrvnrnnvnrvarnnnnnvnrnernannrnnrnnnnnnnrnennannrnennennene 31 4 3 Deleting a JAIN SLEE Event rnnnnnnnrnornnvnrnernannrnernannnnarnennsnnrnennnnnnnennannsnnnnennnner 32 5 Building JAIN SLEE Profile Specifications ccc cccecee eee eeeeeeeeeeseeeeeeeeenees 35 5 1 Creating a JAIN SLEE Profile Specification
86. s eate custom Activity Context Interface Fall Cr Create custom 5BB Local Object interface nn EE 2 Back Next gt Cancel do __ Ve m i _ Figure 6 7 JAIN SLEE SBB companion interfaces selection in EclipSLEE This dialog allows you to specify that a custom SBB Local Object and or Activity Context Interface is required for this SBB Select the required interfaces then click Next to edit the SBB s CMP fields 49 Chapter 6 Building JAIN SLEE ANE JAIN SLEE Service Building Block Wizard Specify the Sbb s CMP fields Name Type Stored SBE Modify yr Add 7 demoCount int N A Modify Remove aa ae _ _ gt gt _ 2 z Back Next gt Cancel Figure 6 8 JAIN SLEE SBB CMP Fields definition in EclipSLEE Here the SBB s CMP fields can be set Add a CMP field by clicking on Add A field can be removed by selecting it in the table and clicking Remove To modify a CMP field click on the Modify button next to it in the table 50 Creating a JAIN SLEE Service Building Block SBB amp Configure SBB CMP Field demoCount Name demoCount This CMP field is a standard Java object or primitive Type int OC This CMP field holds an SbbLocalObject reference SBB Scoped Name a i LE ss Cancel Po i Figure 6 9 JAIN SLEE SBB CMP Field configuration in EclipSLEE Name the
87. s e Resource Adaptor Types e Resource Adaptors e Service XML Descriptors e Deployable Units With this plug in developers can construct complete services easily and quickly The plug in takes care of generating the correct Maven 2 project structure ensuring that XML descriptors are correct as well as creating skeleton Java classes for developers to add service logic to Chapter 2 Installing Mobicents JAIN SLEE 2 1 Pre Install Requirements and Prerequisites Ensure that the following requirements have been met before continuing with the install 2 1 1 Hardware Requirements Anything Eclipse 3 x Itself Will Run On The Mobicents EclipSLEE plugin will run inside Eclipse having the same requirements 2 1 2 Software Prerequisites JDK 5 or Higher A working installation of the Java Development Kit JDK version 5 or higher is required in order to run the Mobicents EclipSLEE Plugin For instructions on how to install the JDK refer to Appendix A Java Development kit JDK Installing Configuring and Running Eclipse 3 7 A working installation of the Eclipse platform version 3 7 Indigo or higher is required in order to run the Mobicents EclipSLEE plugin For instructions on how to install Eclipse refer to Where do I get and install Eclipse http wiki eclipse org FAQ Where do I get and install Eclipse 3F M2Eclipse Plugin For performing maven actions an installation of the Maven Integration for Eclipse plugin m2e
88. saedd de 75 7 1 Creating a JAIN SLEE Service rrarnarnarnarnarnarnarnarnarnarnarnarnernarnarnarnernernernernennenne 75 7 2 Editing a JAIN SLEE Service ccccccecc ccc ecceeceee eee eee eee eeeeeeeseeeaeeaeeeeeaeeeeeaeeaeees 80 7 21 Edit Semce 1dentit seicsi ccsedexsvencantiacidiwslsendacesapsadacs i inaen enaar gi 81 722 Edit SGIC FOOL SBB sanne 82 7 3 Deleting a JAIN SLEE Service rrrnernurnarnarnrnarnarnarnarnernernarnernernernennernernannennenne 83 8 Building JAIN SLEE Resource Adaptor Types ccccccceceeceeeeeeeeeeseeeeeeeeeenees 85 8 1 Creating a JAIN SLEE Resource Adaptor Type rrnrnnnnnnnnnnnnnnnnnnnvnnnrnnnnneernennnenn 85 8 2 Editing a JAIN SLEE Resource Adaptor Type cceccecceeceeeeeeeeeeeeeeeeeseeeeeeaees 93 8 2 1 Edit RA Type Id ntiy siscncdscenedsesnanruadsnnatwadadunsiont anos aeaa A TAEA 95 8 2 2 Edit RA Type Events de 96 8 2 3 Edit RA Type Activity Types ccccccccececceceeeececececeeseseeeeseeaesesenseseees 97 8 3 Deleting a JAIN SLEE Resource Adaptor Type rrnrnnvnnnnnnnnnvrnnnnnennnrrnnnneennennnenn 98 9 Building JAIN SLEE Resource Adaptors ccccccecceeceeeeeeeeeeeeeeeeeeeeeeeeeeeaees 101 9 1 Creating a JAIN SLEE Resource Adaptor ccceccecceeceeceeeeeeeeeeeeeeeeeeeeeeeaes 101 9 2 Editing a JAIN SLEE Resource Adaptor ccccccececceeceeeeeeeceeaeeeeeeeaeeaeeeeaeees 109 Pei EO RATOS e E T 111 9 2
89. sh F5 r Remove Maven Dependency Add Maven Dependency Figure 3 12 Selecting Add Maven Dependency in EclipSLEE This will create a New Maven Dependency dialog as shown below From this dialog it s possible to define the dependency Group ID Artifact ID and Version as well as the scope with which the dependency should be added defaulting to compile The Add to classpath option adds the new maven dependency to the project classpath considering M2 REPO variable is set 18 Adding a New Maven Dependency Defining M2_REPO variable in Eclipse Under Eclipse preferences go to Java Build Path Classpath Variables Click on New and fill the values Name as m2_REPo and Path indicating the path to your Maven local repository usually located under lt user home gt m2 repository Click OK to save and close the dialog and OK again to close the preferences window Maven Dependency Please specify the Maven dependency to be added Components Mobicents SIP11 Dependency Group ld org mobicents resources Dependency Artifact ld sip11 ratype Dependency Version 2 4 1 FINAL Dependency Scope compile HH Add to classpath ral Figure 3 13 Defining a new Maven dependency in EclipSLEE You can also use the Component drop down menu to pick the component Group ld Artifact and Version from the provided templates By default it contains the components shipped with the latest Mobicents JAIN SLEE release but
90. stalled on your system root localhost usr sbin alternatives config java There are 3 programs which provide java Selection Command 1 usr lib jvm jre 1 5 0 gcj bin java 2 usr lib jvm jre 1 6 0 sun bin java 3 usr lib jvm jre 1 5 0 sun bin java 123 Appendix A Java Development Enter to keep the current selection or type selection number In our case we want to use the Sun JDK version 5 that we downloaded and installed to run the java executable In the alternatives information printout above a plus next toa number indicates the one currently being used As per alternatives instructions pressing Enter will simply keep the current JVM or you can enter the number corresponding to the JVM you would prefer to use Repeat the procedure above for the javac command and the java_sdk_1 5 0 environment variable as the root user Setting the sava HoMmE Environment Variable on Windows For information on how to set environment variables in Windows refer to iip support microsoft com kb 931 715 Testing Finally to make sure that you are using the correct JDK or Java version 5 or higher and that the java executable is in your PATH run the java version command in the terminal from your home directory Uninstalling There is usually no reason other than space concerns to remove a particular JDK from your system given that you can switch between JDKs and JREs easily using alternatives a
91. t event priority and if available for your root SBB enable or disable specify service address profile table as required Click Finish to create the service The service descriptor is created in the specified folder and opened for editing in the workspace The resulting workspace can be seen below MobicentsDemoProject du src main resources services demo serv F r O Q G G AFS P F EBM Hr Gr n Ei demo service xml u Yq MobicentsDemoProject b 5 events src main java Nade Content b Aevents src main resources version 1 0 encoding utf 8 43 sbb src main java ef DOCTYPE service xml PUBLIC Sun Micre gt E sbb src main resources Y E service xml b 8 profile spec src main java Y E service P profile spec src main resources e description EclipSLEE Demonstration Service Y Fdu sre main resources e service name DemoService Y HL services x demo service xml e service version 1 0 P m JRE System Library VM Contents MacOS X Defa e root sbb b ard jain slee 1 1 jar M2 REPO javax slee jain slee e service vendor mobicents org e description EclipSLEE Demonstration SBB P 2 du e sbb name demo sbb gt g5 events e sbb vendor mobicents org 3 profile spec e sbb version 1 0 P sbb e default priority 0 b target na pom xml Figure 7 6 JAIN SLEE Service created in workspace using EclipSLEE 7 2 Editing a JAIN SLEE Service It is possible with EclipSLE
92. this RA Type 90 Creating a JAIN SLEE Resource Adaptor Type JAIN SLEE Resource Adaptor Type Wizard Select the events that this Resource Adaptor Type implementations can fire Available events Name Version Vendor demo events 1 0 mobicents org q Select Event Deselect Event Selected events Name Version Vendor demo events 1 0 mobicents org Figure 8 7 JAIN SLEE RA Type events selection in EclipSLEE This dialog allows you to specify which events can be fired by the Resource Adaptor Type implementation select them from the top list Available Events by clicking Select Event To remove them select them from the bottom list Selected Events and click Deselect Event When done click Next to edit the RA Type s Activity Objects Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use the SIP11 Resource Adaptor Type for your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it 91 Chapter 8 Building JAIN SLEE JAIN SLEE Resource Adaptor Type Wizard Configure the Java types of the Resource Adaptor Type s Activity objects Activity Type Create Ale org mobicents demo DemoSshortLifeActivity Yes org mobicents demo DemoLongLifeA
93. ts fired by the SBB Either changing or removing the already selected ones as well as adding new ones The following dialog is presented 68 Edit SBB Profile Specifications 86 Modify SBB Events Available events Name Version Vendor javax slee ActivityEndEvent 1 0 javax slee javax slee facilities TimerEvent 1 0 javax slee javax slee profile ProfileAddedEvent 1 0 javax slee Select Event Deselect Event Selected events Name Version Vendor Modify demo events 1 0 mobicents org Modify rm NO Figure 6 26 Editing JAIN SLEE Service Building Block Events 6 2 6 Edit SBB Profile Specifications This operation can be accessed by selecting Profiles and allows to change the profile specifications the SBB will use Either changing or removing the already selected ones as well as adding new ones The following dialog is presented 69 Chapter 6 Building JAIN SLEE AO Modify SBB Profile Specifications Available profile specifications Name Version Vendor AddressProfileSpec 1 0 javax slee ResourcelnfoProfileSpec 1 0 javax slee AddressProfileSpec 1 1 javax slee Select Profile Deselect Profile Selected profile specifications Name Version Vendor Scoped Name Address Profile Specification one SSS a Figure 6 27 Editing JAIN SLEE Service Building Block Profile Specifications 6 2 7 Edit SBB Child Relations This operation can be access
94. uide does not detail building the Mobicents Platform or any Mobicents servers from source It is nevertheless useful to understand the role played by JBoss AS and JBOosSs HOME in the Mobicents ecosystem The immediately following section considers whether you need to set JBOSS HOME at all and if so when The subsequent sections detail how to set JBOSS HOME on Unix and Windows Important Even if you fall into the category below of not needing to set JBOSS HOME YOU May want to for various reasons anyway Also even if you are instructed that you do not need to set JBOSS HOME It Is good practice nonetheless to check and make sure that JBOSS HOME actually isn t set or defined on your system for some reason This can save you both time and frustration You DO NOT NEED to set s2o0ss now If e you have installed the Mobicents Platform binary distribution 125 Appendix B Setting the JBOSS e you have installed a Mobicents server binary distribution which bundles JBoss Application Server You MUST set seoss_uowe If e you are installing the Mobicents Platform or any of the Mobicents servers from source e you are installing the Mobicents Platform binary distribution or one of the Mobicents server binary distributions which do not bundle JBoss Application Server Naturally if you installed the Mobicents Platform or one of the Mobicents server binary releases which do not bundle JBoss Application Server yet req
95. uires it to run then you should install before setting JBOSS_HOME or proceeding with anything else Setting the JBOSS HOME Environment Variable on Unix The JBOSS HOME environment variable must point to the directory which contains all of the files for the Mobicents Platform or individual Mobicents server that you installed As another hint this topmost directory contains a bin Subdirectory Setting JBOSS_HOME in your personal bashrc Startup script carries the advantage of retaining effect over reboots Each time you log in the environment variable is sure to be set for you as a user On Unix it is possible to set JBOSS HOME as a system wide environment variable by defining it in etc bashrc but this method is neither recommended nor detailed in these instructions Procedure B 1 To Set JBOSS HOME on Unix 1 Open the bashrc startup script which is a hidden file in your home directory in a text editor and insert the following line on its own line while substituting for the actual install location on your system 2 Save and close the bashrc Startup script 3 You should source the bashrc script to force your change to take effect so that JBOSS HOME becomes set for the current session 4 Finally ensure that JBOSS HOME IS set in the current session and actually points to the correct location Note that any other terminals which were opened prior to your having altered bashrc will need to source bashrc as
96. unique field indicates that the value stored in this field must be unique across all profiles of that profile specification Please read the JAIN SLEE specification for further details on these parameters If the profile specification requires a custom abstract management class enable Create abstract management class Click Finish to create the profile specification The profile CMP Java file MobicentsDemoProfileCMP java Is created in the specified package and opened for editing in the workspace Management interface and abstract management class 41 Chapter 5 Building JAIN SLEE if selected are also created in the selected package The profile spec jar xml deployment descriptor is updated to reflect the new profile specification or created if not already present The resulting workspace can be seen below LOE ta FE MobicentsDemoProject profile spes sre main java org mobicents demo Mobicer wi Eadie BG SES FJES o Java EE MobicentsDemoProject profile spec src main java org mobicents demo Mobicer gt Project Explorer 53 H T ag I I MobicentsDemoProfileCMP java 25 N YTE MobicentsDemoProject package org mobicents demo events src main java b E events src main resources b E sbb src main java 48 sbb src main resources public interface MobicentsDemoProfileCMP I f f count CMP field setter public abstract void setCount int value Y E profile spec sre main java f count CMP field getter
97. urces b 8 du src main resources P mu JRE System Library YM Contents ord jain slee 1 1 jar M2 REPO java H du gt 45 events b 2 profile spec bra P E ratype H sbb b target X pom xml 0 Figure 4 8 Editing a JAIN SLEE Event through class file 1 org mobicents demo Mobi Modify Event p I Fa Java EE Eclipse Use ETES New Open Type Hierarchy F4 Show In NEW b Open F3 Open With b Copy HC E Copy Qualified Name Paste EV X Delete E gt Remove from Context VL Build Path b Source VHS p Refactor XT b gg Import p Export 2 Refresh F5 References p Declarations b Run As b Debug As b Profile As P Validate Team Compare With b Replace With Restore from Local History Web Services Properties rs amn dh Servers Data gt its src main java gt m Identity Delete It is also possible to edit by right clicking on the event jar xml descriptor In that case a sub menu allowing to pick which Event to edit is shown 30 Edit Event Identity 68 Java EE MobicentsDemoProject events src main resources META INF event jar xml Eclipse Users al Car HOA GE aee a l ED oro ja event jar xmi n 30 MobicentsDemoProject lt xml version 1 0 encoding utf amp gt Y events src main java lt DOCTYPE event jar PUBLIC Sun Microsystems Inc DTD JAIN SLEE Eve http java sun com dtd slee event jar 1 1 6
98. ut strongly recommended to be completed to allow easy identification of the service in future After completing these fields click Next to select a root SBB 78 Creating a JAIN SLEE Service JAIN SLEE Service Wizard Configure a root SBE for the service Name Vendor Version Description demo sbb mobicents org EclipSLEE Demonstration SEB Default event priority 0 Specify service address profile table C Next gt f Figure 7 5 JAIN SLEE Service Root SBB selection using EclipSLEE All available root SBBs are listed in the table Select the one that should be used for this service Available Components Missing At the moment in order for the available components to be listed in the wizard they need to be part of the classpath For instance if you want to use an external root SBB for your project you will need to add it as a Maven Dependency and be part of classpath first Refer to Section 3 3 1 Adding a New Maven Dependency on how to do it My SBB is not listed why Check the following if your SBB is not listed 19 Chapter 7 Building JAIN SLEE e Does the SBB have at least one initial event That is an event with direction Receive Or FireAndReceive marked as initial event and has at least one initial event selector e Is the SBB shown in the project source list If not please cancel the Service wizard refresh the project so it shows up and try again Specify the defaul
99. vents for this Resource Adaptor Type The following dialog is presented 96 Edit RA Type Activity Types EO Select Events fired by Resource Adaptor Type Available events Name Version Vendor javax slee profile ProfileRemovedEvent 1 0 javax slee javax slee serviceactivity ServiceStartedEvent 1 0 java slee Selected events Name Version Vendor demo events 1 0 mobicents org F Cancel Figure 8 13 Editing JAIN SLEE Resource Adaptor Type Events 8 2 3 Edit RA Type Activity Types This operation can be accessed by selecting Activity Types and allows to add and remove the activities for this Resource Adaptor Type The following dialog is presented 97 Chapter 8 Building JAIN SLEE O Modify Resource Adaptor Type Activity Types Activity Type Create org mobicents demo DemoShortLifeActivity Yes org mobicents demo DemoLongLifeActivity Yes Create Resource Adaptor Interface Figure 8 14 Editing JAIN SLEE Resource Adaptor Type Activity Types 8 3 Deleting a JAIN SLEE Resource Adaptor Type It is possible with EclipSLEE to delete existing components Right clicking in one of the JAIN SLEE Resource Adaptor Type classes or XML descriptor file see Section 8 2 Editing a JAIN SLEE Resource Adaptor Type and selecting the Delete option A confirmation dialog similar to the following should be presented AAC Confirmation I You have chosen to delete the following Resource Adaptor Type Name
Download Pdf Manuals
Related Search
Related Contents
Mode d`emploi lierac - Paris Premiere Boutique CP Sony nouvelles gammes BRAVIA Philips Netbook sleeve SLE1100RN TPH100 User Manual PARKING CŒUR DE VILLE 78 SEIWA OPTICAL CO.,LTD. USER MANUAL Financial Monitoring and Planning Copyright © All rights reserved.
Failed to retrieve file