1 / 40

i A pp

i A pp. Jing Lin 2012 2 March. wHAT IS IAPP.

dora
Download Presentation

i A pp

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. iApp Jing Lin 2012 2 March.

  2. 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.

  3. 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

  4. Create app service

  5. 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_7.7.7.7.app/vs_iapp_http_7.7.7.7_http_profile { • app-service /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7 • defaults-from /Common/http • redirect-rewrite none • }

  6. 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.

  7. 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

  8. 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

  9. Iapp template structure • create template my_iapp { • actions replace-all-with { • definition { • html-help { • <!-- insert html help text --> • } • implementation { • # insert tmsh script • } • presentation { • # insert apl script • } • } • } • } • ~

  10. APL • http://devcentral.f5.com/wiki/iApp.APL.ashx • http://devcentral.f5.com/wiki/iApp.APL_commands.ashx

  11. apl

  12. 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

  13. STRING String <keyname> [default] [display] [required] [validator] String ipaddr required validator “ipaddress” String port default “80” display “small” validator “portnumber”

  14. 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

  15. 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]

  16. EDITCHOICE • Editchoice <keyname> [default “value2”] {“value1”,”value2”} • editchoicemyeditchoice default "value1" {"value1","Display as value2" => "value2key"}

  17. multichoice • Multichoice <keyname> [display small/large…] [default values] <available values> • multichoiceports default {"80", "443"} {"22", "23", "80", "443"}

  18. Password • Password [display “small/large…”] [required] • If set requried, then a valid value must be entered • Password pwd required

  19. section • Create a layout, usually is to group elements together. • Section example1 { • …. • } • Section example2 { • …. • } • Setcion can not be • nested

  20. 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.

  21. row • Similar to table, but only one line and can not repeat the row.

  22. 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 { • yesnouse_ssl • } • text { • example11 "SSL Parameters" • example11.use_ssl "Offload SSL? " • }

  23. define • Define some common objects that can be used by any iapps, in conjunction with “include” command

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

  25. Show text per browser language

  26. 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.

  27. Tmsh script basis • proc script::init {} { • } • proc script::run {} { • } • proc script::help {} { • } • proc script::tabc {} { • }

  28. https://devcentral.f5.com/wiki/TMSH.Commands.ashx

  29. 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.

  30. 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:01020005:3: The requested operation is not implemented yet. • Tmsh on CLI does not affected if scriptd is not running

  31. Where is iapp stored • /config/*/bigip_script.conf • Include • Custom tmsh script • Custom iapp template • Application service

  32. Understand tmsh script • Tmsh create cli script yourscritpname • Tmsh modify cli script yourscriptname • Tmsh run cli script yourscriptname • Editor is like vi • root@ltm6900-1(Active)(/Common)(tmos)# run cli script my_script

  33. Vs in bigip.conf • ltm virtual /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_http { • app-service /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7 • destination /Common/7.7.7.7:http • ip-protocol tcp • mask 255.255.255.255 • persist { • /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_cookie_persistence_profile { • default yes • } • } • pool /Common/t-common • profiles { • /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_caching_profile { } • /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_http_profile { } • /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_lan-optimized_tcp_profile { } • /Common/vs_iapp_http_7.7.7.7.app/vs_iapp_http_7.7.7.7_oneconnect { } • } • vlans-disabled • }

  34. 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.

  35. http://devcentral.f5.com/wiki/iApp.HomePage.ashx#iControl_for_iApps_2http://devcentral.f5.com/wiki/iApp.HomePage.ashx#iControl_for_iApps_2 • Tmsh script • http://devcentral.f5.com/wiki/tmsh.HomePage.ashx • APL-application presentation language http://devcentral.f5.com/wiki/iApp.APL.ashx Tips and techniques http://devcentral.f5.com/wiki/iApp.iApp-Template-Development-Tips-and-Techniques.ashx

  36. BZID373402 • C1072662

  37. Thanks

More Related