Presentation is loading. Please wait.

Presentation is loading. Please wait.

IApp Jing Lin 2012 2 March.. VersionAuthorDate 1.0Jing Lin2012/3/2 1.1Jing Lin2012/3/9.

Similar presentations


Presentation on theme: "IApp Jing Lin 2012 2 March.. VersionAuthorDate 1.0Jing Lin2012/3/2 1.1Jing Lin2012/3/9."— Presentation transcript:

1 iApp Jing Lin March.

2 VersionAuthorDate 1.0Jing Lin2012/3/2 1.1Jing Lin2012/3/9

3 WHAT IS IAPP  An iApp is a user-customizable framework for deploying applications. It consists of three components: Templates, Application Services, and Analytics. An iApp Template is where the application is described and the objects (required and optional) are defined through presentation and implementation language. An iApp Application Service is the deployment process of an iApp Template which bundles all of the configuration options for a particular application together. You would have an iApp Application Service for SharePoint, for example. iApp Analytics include performance metrics on a per-application and location basis.

4 BENEFITS OF USING IAPP  User-customizable  Easy editing of configurations and cleanup  Reentrancy  Configuration encapsulation  Cradle-to-grave configuration management  Strictness protects against accidental changes to the configuration  Operational tasks and health status for App objects displayed on App- specific component view (see right)  Copy/Import/Export capability  Community support for DevCentral hosted templates

5 CREATE APP SERVICE

6 APP SERVICE  Objects will associate an app-service  So if an object have app-service definition, means it is created by an iapp  ltm profile http /Common/vs_iapp_http_ app/vs_iapp_http_ _http_profile {  app-service /Common/vs_iapp_http_ app/vs_iapp_http_  defaults-from /Common/http  redirect-rewrite none  }

7 APP SERVICE  Default, we can’t edit those objects which created by iapp directly, system will refuse the operation.  --Uncheck strick updates under app service properties.  Normally, we should use reconfigure function of app service to modify app-service.

8 IAPP TEMPLATE  Include 3 parts  Implementation --tmsh script  -All inputs and setting in the presentation will be performed to create an iapp service  Presentation –APL,tmsh script, tcl  -Display a GUI to users, it is a user interface  Help --HTML  -Online help on left of GUI  Stored in bigip_script.conf

9 HOW TO CREATE A TEMPLATE  From GUI add new template, not recommend  Tmsh create sys application template **  Edit in your favorite tools, then copy paste  Edit it in bigip_script.conf, not recommend

10 IAPP TEMPLATE STRUCTURE  create template my_iapp {  actions replace-all-with {  definition {  html-help {   }  implementation {  # insert tmsh script  }  presentation {  # insert apl script  }  ~

11 APL  

12 APL Value elements: -string -choice -multichoice -editchoice -password Layout elements: Section Row table Functional elements Include Define Optional Message text Validators FQDN IpOrFqdn IpAddress NonNegativeNumber Number PortNumber

13 APL- CREATE A SECTION  A section is a BLOCK where you can put all relevant input\choice\text\message…. in it. This help you organize the style of the page. Section title-text text Message

14

15 STRING String [default] [display] [required] [validator] String ipaddr required validator “ipaddress” String port default “80” display “small” validator “portnumber”

16 CHOICE  choice yesorno default "no" {"yes","no"}  choice tcpprofile {"profile1","profile2"}  choice lbmethod {"Round Robin"=> "round-robin", "Least Connections" => "least-connections"} This will create a single selection menu.  The string after => means the value that when you select the item before the =>.  If no =>, it means the value equal the items which displayed on page

17

18 MESSAGE  Provide extra text message on the page, We can use it to show some explanation or other warning info or anything what you want to say.  Message keyname [words you want]

19 EDITCHOICE  Editchoice [default “value2”] {“value1”,”value2”}  editchoice myeditchoice default "value1" {"value1","Display as value2" => "value2key"}

20 MULTICHOICE  Multichoice [display small/large…] [default values]  multichoice ports default {"80", "443"} {"22", "23", "80", "443"}

21 PASSWORD  Password [display “small/large…”] [required]  If set requried, then a valid value must be entered  Password pwd required

22 SECTION  Create a layout, usually is to group elements together.  Section example1 {  ….  }  Section example2 {  ….  }  Setcion can not be  nested

23 TABLE  Elements in table will be treated as columns, and form a row. There will be “add” button and delete button, which you can repeat rows or delete rows. Table can not be nested.

24 ROW  Similar to table, but only one line and can not repeat the row.

25 INCLUDE  Used to involve an exist iapp APL script, so we can define some common script in a fie, then include it and use the definitions in any iapps  include "/Common/f5.apl_common"  section example11 {  yesno use_ssl  }  text {  example11 "SSL Parameters"  example11.use_ssl "Offload SSL? "  }

26 DEFINE  Define some common objects that can be used by any iapps, in conjunction with “include” command

27 OPTIONAL Show or hide element depend on another element value. Don’t use it inside“table”

28 Show text per browser language

29 IMPLEMENTATION  Who really create those objects that we input in presentation?  Tmsh script in implementation part in charge of this.  What is tmsh script?  Script that can run in tm shell  So iapp is let you answer question in GUI then system run tmsh script automatically to finish a task.

30 TMSH SCRIPT BASIS  proc script::init {} {  }  proc script::run {} {  }  proc script::help {} {  }  proc script::tabc {} {  }

31 HTTPS://DEVCENTRAL.F5.COM/WIKI/TMSH.COMMANDS.ASHX

32 HELP  This part is for online-help.  It is html-based.  Contains the text that appears in the help frame when you select a template during the application-services creation process. You can modify text in this section to help those who use the templates to create application services. This field supports the following HTML tags: b, blockquote, br, code, dd, dl, dt, em, h1, h2, h3, h4, h5, h6, i, li, ol, p, pre, small, strike, strong, sub, sup, u, and ul.

33 TIPS  /var/tmp/scriptd.out  When you create app service by iapp template, the tmsh script running result will be in the file.  Process scriptd is parsing engine of iapp on GUI.  If the process stop running, you will get below error when creating iapp service.  Error parsing template: :3: The requested operation is not implemented yet.  Tmsh on CLI does not affected if scriptd is not running

34 WHERE IS IAPP STORED  /config/*/bigip_script.conf  Include  Custom tmsh script  Custom iapp template  Application service

35 UNDERSTAND TMSH SCRIPT  Tmsh create cli script yourscritpname  Tmsh modify cli script yourscriptname  Tmsh run cli script yourscriptname  Editor is like vi  run cli script my_script

36 VS IN BIGIP.CONF  ltm virtual /Common/vs_iapp_http_ app/vs_iapp_http_ _http {  app-service /Common/vs_iapp_http_ app/vs_iapp_http_  destination /Common/ :http  ip-protocol tcp  mask  persist {  /Common/vs_iapp_http_ app/vs_iapp_http_ _cookie_persistence_profile {  default yes  }  pool /Common/t-common  profiles {  /Common/vs_iapp_http_ app/vs_iapp_http_ _caching_profile { }  /Common/vs_iapp_http_ app/vs_iapp_http_ _http_profile { }  /Common/vs_iapp_http_ app/vs_iapp_http_ _lan-optimized_tcp_profile { }  /Common/vs_iapp_http_ app/vs_iapp_http_ _oneconnect { }  }  vlans-disabled  }

37  With default setting, we can not edit those objects like vs, pool, profile… only can reconfigure it in IApp.  Uncheck strict updates can get rid of the restriction.

38  _2 _2  Tmsh script   APL-application presentation language Tips and techniques Techniques.ashx

39  BZID  C

40 Thanks


Download ppt "IApp Jing Lin 2012 2 March.. VersionAuthorDate 1.0Jing Lin2012/3/2 1.1Jing Lin2012/3/9."

Similar presentations


Ads by Google