The Definitive Guide For Mobile Enterprise Application . - Free Download PDF

1m ago
7 Views
0 Downloads
1.50 MB
24 Pages
Transcription

Technology overviewThe definitive guide forMobile EnterpriseApplication Development

The Definitive Guide to Enterprise Mobile DevelopmentTable of contentsArchitecture of a Mobile Platform3Push notifications15Design and build Mobile services4Deploying mobile applications16Publish Mobile Services6Continuous Integration17Connecting to backend data7Configuration and monitoring18Legacy Connectors8Cloud or on premises19Mobile Security9IoT Integration20Design and build Mobile UIs10Analytics21Angular 2 / Ionic 2 Support12Product line22Offline data capabilities13Conclusion23Large file transfer for offline mode14About Convertigo24New devices, new usages, new businessrequirements With 75% or more ofapplications being mobile by 2016,enterprise IT teams are facing constantnew challenges to design, develop,deploy, distribute and manage a portfolioof numerous B2E or B2C mobileapplications!Such complex and moving context makesspecific developments hazardous,expensive and time consuming.In most Enterprises, CIOs are facing Line ofBusinesses always asking for new applicationsand usages, while they have to preserve hisglobal information system architecture’s integrityand security.Automated production 100% dedicated tomobility allows speedy developments and instantROI, especially when it comes to launching ormanaging numerous apps. Mutualizeddevelopments using prebuilt components,processes, tests and templates ensure costeffective and reliable production and reduce timeto market for new mobile applications andfrequent updates.Mobile Application Development Platformsindustrializes new mobile applicationsproduction, or transforms existing enterprisebusiness applications. It ensures that customershave the appropriate enterprise grade security,governance and performances and deliversstandardized rich user experience leveraging anydevice features.The definitive guide to Enterprise Mobile Development v1.1 - 2

The Definitive Guide to Enterprise Mobile DevelopmentArchitecture of aMobile PlatformA mobile platform differs from a simplemobile application development tool byproviding all the components needed to build,run, manage and connect mobile applicationsto the existing Enterprise Information system.A Mobile application developmentplatform should include the followingcapabilities: Mobile back end connectors to enablemobile apps to connect to the enterprisedatabases and business applications.Mobile service orchestrator to enableback end data to be aggregated, filteredand combined to provide a mobilefriendly service API. The orchestrator canalso augment existing backendapplication with mobile specificcapabilities such as push notifications orlocator services.Cross platform UI development tools tobuild mobile user interfaces able to runon multiple devices operating systemssuch as Apple iOS, Google Android orMicrosoft Windows Phone.More advanced Mobile applicationdevelopment platforms provide additionalfeatures such as: Cache Manager to cache on the serverside some data avoiding to get it eachtime from the backend connectors.Identity manager to be able toauthenticate mobile users and to checktheir rights from an Enterprise usermanagement system or from an identityfederation. Off line data synchronization enablingmobile users work on local data when thenetwork is not available and still be ableto sync back this data to the backendsystems when the network is restored.Security managers to encrypt sensibledata on the network or on the mobiledevice.Mobile application SDKs to be able tointegrate other third party mobile UIdevelopment toolsIntegration with Analytics engines toprovide insights for line of businesses,system administrators and mobiledevelopers.Audit management to provide securityofficers to track back any mobiletransaction made on the enterpriseinformation system.Convertigo Mobility Platform is the first opensource mobile platform to provide a completecombined end to end from backendenablement to mobile UI development toolsintegrated in one unique MADP (MobileApplication Development Platform) andMBaaS (Mobile Backend as a Service).The platform is composed of severalcomponents, the Convertigo Server, Studioand Third party SDKs.The definitive guide to Enterprise Mobile Development v1.1 - 3

The Definitive Guide to Enterprise Mobile DevelopmentDesign and buildMobile servicesAny enterprise mobile application needsmobile services to interact with the enterprisedata. Mobile services are usually built on topof existing backend services provided by ESBsor other SOA based architecture, or can bedeveloped from scratch using some backendstorage engine.A mobile application running on a device willinteract with mobile services using standardprotocols based on HTTP/HTTPS JSON orXML format.Mobile services can be defined from a bottomup approach (Where the service model isdefined by the service developer) or from atop/down approach where the service modelis defined by the Mobile UI developer.A very common situation is that existingEnterprise services are not designed formobility, or even not designed for the mobilebusiness rules.Convertigo Mobility Platform MBaaScomponent addresses these requirementswith: Protocol transformation enablingtransformation of existing internalservices including SOAP, SAP BAPIs,REST/XML, SQL, NoSQL to mobilefriendly REST/JSON mobile services.Data filtering to expose only needed datamodel to mobile devices from existing“heavy” internal servicesBusiness logic augmentation to enhanceexisting internal services for mobileprocesses, or to build from scratch newmobile services directly from a SQL orNoSQL data repository.Convertigo MBaaS mobile services are builtusing a very powerful concept called“Sequences”, basically defining all the “Steps”needed to get the data, transform it, handle itwith business rules and return it to the mobiledevice.The definitive guide to Enterprise Mobile Development v1.1 - 4

The Definitive Guide to Enterprise Mobile DevelopmentBuilding Sequences does not requireprogramming in a specific language and issimply based on object configuration usingthe Eclipse based Convertigo Studio GUI.Convertigo uses a library of predefined Stepsto handle most of the requirements forbackend service programmingSequences can also be enhanced by usingSpecial “Javascript” Steps able to performcomplex business logic. These steps can evencall some custom Java classes.With all these capabilities, the mobile servicedeveloper using Sequences, will develop theservices significantly faster and will reducemaintenance costs compared to classicprogramming using PHP, Java or C#.The definitive guide to Enterprise Mobile Development v1.1 - 5

The Definitive Guide to Enterprise Mobile DevelopmentPublish MobileServicesOnce the services are developed they can bedeployed on Q&A or Production servers in asimple click. All the service definitions will bepackaged as a .CAR file and deployed on theserver.Mobile developers and testers will be able toaccess the services through the Convertigotest platform portal.This portal enables users to browse thedifferent projects and services, readdocumentation about them, and test a serviceusing the built-in Convertigo test cases. Theportal will show a service result in JSON orXML format.A mobile service can be published in 3 modes: Private will make this service onlyavailable to other services running on theMBaaS. Mobile applications will not beable to call this service.Hidden will make this available to themobile apps but not visible in the testplatform portal.Public will make the service available formobile apps and visible in the testplatform portal.The definitive guide to Enterprise Mobile Development v1.1 - 6

The Definitive Guide to Enterprise Mobile DevelopmentConnecting tobackend dataAlthough mobile applications can use newlycreated databases, in most cases, Enterprisesalready has some data in existing databasesor backend applications. The goal of aplatform is to be able to access data via thestandard protocols so that mobile users canwork on it, display it and modifying it. One gold rule in system architecture is thatdata should never be modified directly ondatabases but always through the servicelayer (when they are available) executingbusiness rules.Convertigo Mobility platform can create backends or connect to any existing Enterprisebackend through its large set of connectors.Most of these connectors will access theservices layer of backend applications but theplatform can also access data layers directly ifneeded.Data layer connectors are: Service layer connectors are: SOAP 1.1/1.2 connector to connect toany existing SOAP web service providedby an ESB or any other Web Serviceprovider. Convertigo SOAP supportsWSDL import and will generateautomatically in the Studio all thetransactions and schemas for a givenweb service. Convertigo SOAPconnector also supports MTOMattachments to exchange data withECMs.REST jSON/XML connector to connectand exchange data with any REST webservice in jSON or XML format.Convertigo REST connectors supportsoAuth authentication and can import aREST web service definition in YAMLformat to generate automatically in theStudio all the transactions and schemasfor a given web service.SAP BAPI connector will allowConvertigo to exchange data directlywith any SAP NetWeaver systemincluding SAP ERPs (ECC 6.x).Convertigo features a BAPI browser ableto search in a SAP system the neededBAPIs and to import them in one click inConvertigo Studio. When imported, itwill create automatically SAPtransactions with all the needed schemadata models.SQL data sources to connect to any SQLbased database. Convertigo supportsany database as long as they provide aJDBC driver. By default the platform isshipped with MariaDB (MySQL), DB2,DB2/400, and SQL server drivers, but anyother JDBC driver can be also configured.Data access can be done directly throughJDBC or by using the application server’sJNDI data sources. Of course, Convertigomay access SQL stored procedures toexecute business logic in the databases. NoSQL databases connector can be usedto read and write data from theseBigData document oriented databases.Convertigo supports Apache CouchDBNoSQL databases. Plain Files can be also used as datasources. Convertigo supports CSV, XMLand Excel files. RSS/ATOM/OData feeds can also beaccessed through Convertigo HTTPconnector.The definitive guide to Enterprise Mobile Development v1.1 - 7

The Definitive Guide to Enterprise Mobile DevelopmentLegacy ConnectorsThis is the real world! Enterprises are stillusing legacy systems to run some preciousbusiness applications. Even if systemarchitects plan to get rid of them, theseapplications are still in the landscape and haveto take part to of the digital Enterprise.Rewriting these applications in modernlanguages to have them exchange data intoday’s standard protocols would beoverpriced.Convertigo Mobility Platform addresses thisneed by providing two exclusive connectors: Javelin connector enables the platform toconnect to any legacy IBM AS/400,iSeries system and exchange data usingthe TN5250 protocols through theapplication’s user interface. This way, allthe data read or modified in the legacyapp is done through the app’s existingbusiness logic preserving data integrityand business rules.Javelin connector also supports in thesame way IBM z/OS Mainframe systemsaccessing apps using the TN3270Eprotocols. Web HTML connector is able to connectto any existing web based applicationand to exchange data through its WEBUI. The platform uses a powerful parsingengine based on Mozilla’s XULtechnology to parse and execute webpages code to generate a normalizedDOM (Document Object Model).Thisway, extracting data from the page iseasy using the built-in out of the boxextraction rules.The connector is also able to interactwith the web UI by clicking on buttons,filling text fields and submitting forms topush data back to the target webapplication.These two connectors are completelyintegrated in Convertigo Studio and can beprogrammed by using a visual point and clickinterface.This way, the platform can “mobilize” anyexisting Legacy or Web UI applicationseamlessly without changing one line of code!The definitive guide to Enterprise Mobile Development v1.1 - 8

The Definitive Guide to Enterprise Mobile DevelopmentMobile SecurityAs by definition, mobility implies that someenterprise data will be brought out of theEnterprises; an Enterprise Mobility Platformmust have security capabilities to secure dataand processes.These capabilities are: User authentication to be sure to knowwho is the user accessing the enterprisedata.Access control to control what part of thedata should be seen for this particularmobile user.Protocol encryption to prevent networkspies to read data coming or going to themobile devicesMobile device data encryption to preventattackers to read data on devices if theyare lost or stolen. Protocol encryption is based on TLS 1.2encryption and supports client and servercertificates.Identity manager to handle for oneunique mobile identity several differentcredentials to access back end system.Mobile SDKs provides to mobiledevelopers all the necessary toolbox toencrypt and decrypt data from localdatabases.Convertigo Mobility Platform brings todevelopers out of the box components tohandle these capabilities: User authentication is supported by usinga local user database or LDAP as mostEnterprises will prefer to use their ownidentity servers such as Active Directoryor any LDAP based server. Convertigocan also use federated identityframeworks providing SSO services suchas SAML or oAuth. Access control is done by creating asecurity context before any other mobileservice can be used. This securitycontext will be established with a “login”service checking the mobile user identityand deciding if or not he is entitled toopen the security context.The definitive guide to Enterprise Mobile Development v1.1 - 9

The Definitive Guide to Enterprise Mobile DevelopmentDesign and buildMobile UIsAn Enterprise mobile platform needs toinclude tools to design and build mobile userinterfaces (UI). There are severaltechnologies available today to build suchmobile UI applications: Native apps are coded using the nativelanguage to a platform. For example,Objective C or Swift for iOS, Java forAndroid and C# for Windows Mobile. Hybrid apps are using HTML5 technologyto provide user interfaces mixed withsome platform native code providingaccess to specific mobile capabilities suchas GPS, Sensors, Camera, Phonebook ornetwork.Cross- compilers apps are using a specificlanguage such as C# or Java to be crosscompiled and able to run on otherplatforms.Convertigo Mobility platform support allthese technologies providing an outstandingopenness for building mobile UI apps.Comparing different mobile UI development technologies andIntegration with Convertigo Mobility PlatformConvertigo PlatformROI/targetTechnologyIntegration with Convertigo MBaaSCross-platform.One code, several targets (iOS, Android, Windows Mobile)Hybrid (HTML5)jQuery Mobile,Angular2/Ionic2B2E B2B B2C Convertigo MADPProprietary.One code by targetXcode(iOS)Microsoft XamarinB2E B2B B2C 2E B2B B2C Convertigo SDKConvertigo mBaaS ServerThe definitive guide to Enterprise Mobile Development v1.1 - 10

The Definitive Guide to Enterprise Mobile DevelopmentConvertigo has in its built-in MADP (MobileApplication Development Platform) acomplete Hybrid engine based on ApacheCordova supporting iOS, Android andWindows Universal Apps (Windows Phone8.1, Windows Mobile 10 and Windows 10): Mobile UIs built with Convertigo Hybridengine can leverage the completeCordova plugin library and be integratedwith the latest UI frameworks such asAngularJS or Polymer.Convertigo Hybrid engine also comeswith an out of the box UI frameworkextending jQuery Mobile with a strongdata binding framework called CTF(Convertigo Templating Framework) .CTF is much simpler to use than otherframeworks, providing a fast learningcurve to developers.Flash Update makes it possible to updateapplications on devices without having torebuild them and to deploy them. Eachtime an app is started on the device itsversion is compared to the server versionand a differential update occurs ifneeded.Convertigo Studio IDE will help the CTFprogrammers by providing automaticcompletion for accessing mobile servicesConvertigo Hybrid Engine supports cloudbuild (building UI apps remotely on thecloud) or local build (Building with locallyinstalled Cordova SDKs). Convertigo Hybrid apps can benefit fromall the backend services provided byConvertigo MBaaS including all theoffline data capabilities.Convertigo also supports Native apps byproviding a Client SDK. This SDK is availablefor iOS, Android and .NET. Convertigo ClientSDK is also available for Xamarin crosscompiler technologies. Convertigo Client SDKprovides these capabilities: iOS, Android and Windows Phonenative mobile apps can use ObjectiveC or Swift programminglanguage(iOS), Java (Android) and C#for Windows Phone to call dataservices from Convertigo MBaaS.They will benefit from all the back endmobile services including offline data.Classic Windows WPF .NET desktopapplications are supported using C#or any other .NET language. They willbenefit from all the MBaaS servicesincluding offline data.Xamarin apps can use C# to call dataservices. They will also benefit fromall the backend services includingoffline data.Convertigo SDK is fully integrated inVisualStudio as NuGET components,in Xcode as a Framework and inAndroid Studio as a Binary LibraryProject (AAR).The definitive guide to Enterprise Mobile Development v1.1 - 11

The Definitive Guide to Enterprise Mobile DevelopmentAngular2 / Ionic 2SupportAlthough Convertigo provides its owntemplating framework based on jQueryMobile called CTF (Convertigo TemplatingFramework), the platform also supportsthe industry standard Angular 2 with theIonic 2 mobile framework.This enables developers to use the full powerof Angular 2 and the beautiful Ionic 2 mobileframework to write the mobile apps hybridfront ends connected to Convertigo serverback-end services.Cherry on the cake, you can choose todevelop the Angular/Ionic part in the sameConvertigo Studio than the whole back-endpart! Convertigo Studio will automaticallyhandle the build process and will add theFlash Update feature to your hybrid apps.If you prefer, you can use your favoriteAngular2 IDE such as Webstorm and still useConvertigo back-end service and buildcapabilities.Convertigo Back-end services are provided asa standard Typescript Angular 2 serviceprovider you can use in your apps with a verysimple API. The same API can be used to callBack-end services (Sequences) or to deal withlocal offline data and synchronize this datawith the server using the FullSync technology;The definitive guide to Enterprise Mobile Development v1.1 - 12

The Definitive Guide to Enterprise Mobile DevelopmentOffline datacapabilitiesOne of the greatest challenges for mobilesapps is that they must be able to work withdata even if there is no network. We call thisoffline data. Mobility platforms provide mechanisms toprovide out of the box offline data capabilitiesto applications developed with the platform.This way any mobile app will inherit thesecapabilities without requiring a strongdevelopment effort.Convertigo Mobility Platform providespowerful offline capabilities with twofeatures: Local cache is automatically cachingserver data in a local mobile database.The programmer can define the time tolive and the cache policy (Server first orLocal database first)FullSync provides a completesynchronization process between data onthe mobile device and data in the backend services. FullSync enables scenarioswhere the mobile user can read and writebusiness data even when the network isnot available. As soon as the network isbrought

The Definitive Guide to Enterprise Mobile Development The definitive guide to Enterprise Mobile Development v1.1 - 2 Table of contents Architecture of a Mobile Platform 3 Push notifications Design and build Mobile services 4 Deploying mobile applications Publish Mobile Services 6 Continuous Integration Connecting to backend data 7 Config Legacy Connectors 8 Cloud or on premises