Architectural Considerations While Developing Enterprise .

3y ago
14 Views
2 Downloads
236.23 KB
5 Pages
Last View : 15d ago
Last Download : 2m ago
Upload by : Amalia Wilborn
Transcription

International Journal of Scientific and Research Publications, Volume 4, Issue 3, March 2014ISSN 2250-31531Architectural considerations while developing EnterpriseMobile ApplicationsSuhas Bhosale*, Monali Bhosale***Senior Technology Specialist, Extentia Information Technology, India**MCA Department, Abhinav Education Society’s Institute of Management and Research, Pune, India.Abstract- Today’s competitive environment is demandingemployees to be productive on the way. Employees can workwhile at home, travelling or from on-site. Mobile devices areproving to be extremely helpful in increasing productivity ofemployees.Enterprise Mobility is becoming an inevitable part of anyorganization and is playing crucial role in development of anyorganization. This paper is focused on discussing various aspectsof Enterprise Mobile Application Development from anarchitectural perspective.Index Terms- Enterprise Mobile Applications, EnterpriseMobility, Mobile Application Architecture, Go MobileI. INTRODUCTIONIn the present era of mobile, deciding the mobility strategy isgaining a lot of attention for any organization. In a broadersense the mobile applications can be classified as:1) B2C (Business to Consumer) Applications2) B2B (Business to Business) ApplicationsA. Business to Business (B2B) ApplicationsBusiness to Business (B2B) applications mainly focusses onvarious interactions viz. transactions between the businesses.B2B applications also defines the communication andcollaboration between the various business units. B2Bapplications also caters employee needs to connect/interact witheach other across/within various business units to fulfil thebusiness needs.B. Business to Consumer (B2C) ApplicationsBusiness to Consumer (B2C) applications mainly falls into RetailMobile Application domain. Retail is considered as a sale from abusiness to its end-user i.e. consumer. B2C applications aretargeted towards creating virtual market place where businessand consumer can exchange goods/services against thecompensation.Another classification of mobile applications is based on the typeof services provided by the respective mobile application.The mobile applications are classified as1) Enterprise Mobile Applications2) Consumer Mobile ApplicationsA. Enterprise Mobile ApplicationsEnterprise Mobile applications are designed for an organizationand are focusing on addressing the business needs of anorganization. The Enterprise mobile application may interactwith the existing system to pull/push data to/from the system.The typical tasks carried out by Enterprise Mobile system can beprocurements. Order processing, Viewing Reports, On-Sitereporting, Real Time data gathering (may be data processing insome cases, though the processing of data can be limited by theprocessing power of mobile device). Within a particularorganization, the Enterprise Mobile Applications can be used byvarious departments like: Sales, Marketing, Production, HigherManagement, etc. The Enterprise Mobile Applications can berelated with Enterprise Resource Planning (ERP), BusinessIntelligence (BI) and Customer Relation Management (CRM).Many organizations prefer to adapt suitable MEAP (MobileApplication Development Platform) to build mobile applications.B. Consumer Mobile ApplicationsConsumer Mobile Applications are mainly focused on endcustomer. These types of applications mostly provided servicesbased related with user location, Social Media, mobilecommerce, etc. Generally these are the mobile applicationswhich provides context-aware services. These apps mainlyfocused on user interests, likings, geo-graphical location, userintentions, user time zone, etc.II. THE NEED OF ENTERPRISE MOBILE APPLICATIONS ANDSTEPS TO ‘GO MOBILE” FOR ENTERPRISEThe mobile revolution which was started by Apple in 2007after launching of iPhone has totally changed the face of mobilespectrum. It has generated the “Going Mobile” need forenterprise to be in and lead the competitive market. Mobile hasproven to be very effective way for an Enterprise to extend itsservices to large amount of consumers. Every organization isstriving to improve the way in which the services are delivered toemployees and end customers. The main focus is on acceleratingthe employee productivity and enhancing the end-userexperience. CIOs of companies are having mobility on their highpriority list. Every Enterprise is looking for building their ownpresence in mobile spectrum.The following are the steps for any organization willing to “GoMobile”1) Define Mobile Strategy2) Develop mobile application Strategywww.ijsrp.org

International Journal of Scientific and Research Publications, Volume 4, Issue 3, March 2014ISSN 2250-31533) Development, Deployment and Management of mobileapplicationsA. Defining Mobile StrategyA Mobile strategy is a plan devised in order to decide / create /improve mobile presence of any organization. A typical mobilestrategy is based on some factors and answers to some of thebelow questions.1) What are the problems faced by employees and endcustomers presently?2) How “Going Mobile” can address their problems?3) Which all sections of Enterprise needs mobility?4) What are the applications needed in Business to Business(B2B) and Business to Consumer (B2C) categories?5) What application strategy is needed for Business to Business(B2B) and Business to Consumer (B2C) applications?6) Does Enterprise have backbone (mobile networkinfrastructure) in place for mobility support or Enterpriseneed to build mobile network infrastructure?7) In case backbone is available, is that capable of servingmobile applications or Enterprise need some modificationsto it?8) Does the staff is literate enough to use mobile applicationsor Enterprise need to educate them?9) If the training to staff is required, what will be the level oftraining is required?10) What is the mobile usage index in the geographical areaswhere the end customer is based?11) Does organization will provide mobile devices to theemployees or organization is willing to follow BYOD (BringYour Own Device) policy?12) What MDM (Mobile Device Management) methodologyEnterprise need to follow in order to maintain thesecurity/authorization for Enterprise data?13) Which all mobile platforms needs to be targeted?14) How the application(s) are going to be distributed to the enduser?B. Development/Refinement of mobile network infrastructureAny organization may or may not have the existing enterprisesystem (which may provide web/desktop interface). In case ofexisting system, organization need to think on extending thesame system for mobile applications. It need to build interfacefor mobile applications to interact with.In case of absence of such system, the organization need to buildit in order to support mobile applications.C. Develop mobile application strategyA Mobile application strategy is a plan devised in order to buildeffective mobile applications.This plan should be in line with the organization’s mobilestrategy. It should cover the various goals to be achieved throughthe mobile applications. It should address the network andsecurity constraints of the organization. Mobile ApplicationStrategy should help to decide the platform and architecture. Itshould also help to decide the development methodology for theapplications.2D. Development, Deployment and Management of mobileapplicationsFinally organization needs to develop the applications. Oncedevelopment and testing is carried out, organization need todeploy the application. The deployment is highly driven by theplatform selection of application. The Business to Business(B2B) applications can be distributed through Enterpriselicensing model which ensures that the application is availableonly to the specific users (for instance Employees). For Businessto Consumer (B2C) applications, organization may prefer todistribute the application through application distributionplatforms which are typically provided and operated byrespective platform owner. Below are some of the applicationdistribution platforms:1) App Store – iOS2) Google Play - Android3) Windows Phone Store – Windows Phone4) BlackBerry App World – BlackBerryThe organization also needs to make sure effective managementof these apps. B2B applications can be managed by leveragingone of the available Mobile Device Management (MDM)solutions.III. IMPORTANCE OF SOUND MOBILE APPLICATIONARCHITECTUREApplication Architecture is the design process and its outcome isstructured approach which will fulfil the business, functional andtechnical requirements of application. Mobile ApplicationArchitecture encompasses the set of significant decisions aboutthe organization of a mobile application.Developing an architecture involves:1) Selection of the various structural elements withinapplication and their interfaces by which a system iscomposed.2) Architecture specifies the behavior as specified incollaborations among those elements.The Architecture is related with decomposition of the system intovarious components or modules or various subsystems.Architecture defines:1) Component interfaces – Component interface is related withcapabilities of component i.e. what a component can do.Interface extends the details about what a component willdo when one tries to consume the component.2) Communication among components – Architecture detailsout the various communication channels which can beconsumed when one component consume/provide servicesfrom/to other component.3) Dependencies – Architecture lists out the dependenciesrelated with functionality or consumption of any component.A. Importance of ArchitectureA sound mobile application architecture always leads to thesuccessful application delivery. The good software architecture isvery important to the success of the project/application because:1) Good architecture always aims for higher quality keepingthe cost low.www.ijsrp.org

International Journal of Scientific and Research Publications, Volume 4, Issue 3, March 2014ISSN 2250-31532) Optimizations can be carried out in better, efficient and easyway.3) It promotes the better code reusability in turn leads to fastersoftware development.4) Good architecture ensures the scalability, performance,modifiability and maintainability of the application.The below sections list outs the various advantages ofarchitecture to various stake holders of the system.B. Advantages of good software architecture for end-users1) Performance – The performance of application plays animportant role in mobile applications. Mobile users expectsquick response from the application specifically compared todesktop/web applications. If the application is taking longtime to retrieve or display the details, there is a highpossibility that the users would not like the application andthey might stop using the application. A mobile applicationarchitecture should ensure to meet the performanceexpectations of the users.2) Availability – Good Architecture should ensure theavailability of the application. Availability is one of theimportant requirement of Enterprise Mobile Application.Availability refers to the virtue of the application to beavailable to server when user needs it. If user is in need ofusing the application and it is not available at that time maylead the user to move away from using the application.3) Usability – Usability plays an important role specifically incase of the mobile applications especially considering thesmall amount of screen real estate availability. Thearchitecture should be built to ensure the usabilityrequirements of the application.4) Security – In Enterprises, data is of the prime importanceand Security of the data is one of the major non-functionalrequirement of the application. The good architecture shouldalways be robust enough to address the security concerns ofthe Enterprise and it should be in compliance with theorganization’s security policies.C. Advantages of good software architecture for developers1) Maintainability – Considering the requirement change due tochange in environment, market, demand, Enterprise Policies,always there is a need of maintenance for the EnterpriseMobile Applications.A Good Mobile ApplicationArchitecture ensures the high maintainability of the mobileapplication. It reduces the efforts and complexity of thechange implementation which is in favor of the developers.2) Reusability – Reusability always leads to faster applicationdevelopment and structured development approach. GoodArchitecture always considers the reusability aspect duringdesign of components and interfaces.3) Portability – Portability is the ability of the system to react tothe environmental changes. In case of Enterprise Mobileapplications, the change in environment may be frequentconsidering the technology, market, demand changes. Thesechanges may result in change in servers, database, etc. Thegood Mobile Application Architecture ensures the system tobe portable enough to respond to these changes keeping theimpact of change at minimal level.34) Testability – The Enterprise application needs to undergorigorous testing processes in order to ensure the consistencyof the application under various conditions. This raises aneed to rigorous testing of each component/module of thesystem. Good Mobile Application Architecture ensures thatthe each component is separately testable.IV. ARCHITECTURAL CONSIDERATIONSBuilding an architecture for mobile application involves a lotof considerations. A wrong decision taken by ignoring /misunderstanding any of these considerations will lead to productfailure which in turn result in loss of organization. The variousarchitectural considerations for Enterprise mobile applicationsare listed below.A. Platform SelectionAny organization willing to “Go Mobile” need to decide themobile platforms to be supported. The selected platform may beiOS, Android, Windows Phone, BlackBerry, etc. Someorganizations may opt to support multiple platforms.B. Development ApproachDepending upon the types of platforms to be supported, thedevelopment approach could be Native, HTML5 or Hybrid.These approaches are briefly discussed below.1) Native – Native mobile application development approach isspecific to a given mobile platform and it uses thedevelopment tools and language that the respective platformsupports. For example, Native Android development iscarried out using JAVA language.2) HTML5 – This approach uses standard web technologies,typically HTML5, JavaScript and CSS. The applicationdeveloped using HTML5 runs in browsers of the devices.3) Hybrid – This approach uses the HTML5/JavaScriptapproach in combination of power of the native platform bywrapping a Web application inside the native container andleveraging the bridge available to interact with device nativefeatures.B. Client TypeThe application strategy helps to decide the type of clientneeded. The mobile application can be designed to be a Richclient, thin client or rich internet client.1) Rich client – The Mobile Application will designed as a richclient when it requires to carry out local processing andlikely to operate in an occasionally connected scenario.Generally a rich client applications are more complex tomaintain.2) Thin client – If Mobile application strategy denotes that theapplication will be governed by server processing and willalways be fully connected, then the architect should suggestand design a thin client.3) Rich Internet Client (RIA) - If there is a need of a rich userinterface, not much access required to local resources,portability to other platforms is of high priority, thearchitecture should built for a rich internet client.www.ijsrp.org

International Journal of Scientific and Research Publications, Volume 4, Issue 3, March 2014ISSN 2250-3153C. Device Type and CapabilitiesThe selection of devices to be supported by the application isan important decision for an Enterprise. When choosing whichdevice types to support, below factor plays an important role:1) Screen Size – The fragmentation in Android devices in termsof various screen sizes has considerable impact on thedecision to decide the supported devices.2) Resolution (DPI) – Considering this is important factormajorly when it comes to support Rich User Interface.3) CPU Performance Characteristics – CPU performance isvery important specifically for Rich Client mobileapplications.4) Memory and Storage Space – Some mobile application mayrequire high amount of processing which may demand highRAM whereas some mobile applications may demand largerstorage space to store the application data. Enterprise need toconsider these factors while deciding on the devices to besupported.5) Native Feature Support – Some applications may requireusage of native features like Accelerometer, GPS, Camera,etc. The selected devices should be capable of supportingthese features.6) Battery Life – The device battery life plays an important rolein some of the mobile apps. The architecture should makesure the less consumption of battery. The battery intensiveapplication features should be architect in such a way toreduce the battery consumption. Wireless connections likeGPS, Backlighting are the examples of features whichdemands more battery.D. Security RequirementsIn most of the Enterprise Mobile Applications, data security isat most priority. The application architecture should be robustenough to secure the data accessed/consumed by the application.The architecture of Enterprise Mobile Application should be insync with organization’s security ecosystem. Any data stored onthe device (in-memory or persistent) should be encrypted toensure security. The organization may opt for Mobile DeviceManagement (MDM) tool to impose security constraints on theapplication. The application architecture should be able toaccommodate any interface to such Mobile Device Managementtools.E. InternationalizationAn Enterprise may have its business across differentgeographies and languages. Supporting multiple language is animportant consideration for Enterprise Mobile Applications. Thearchitecture should have provision to support internationalizationin an elegant way. The architecture should support addition ofnew languages seamlessly.F. Internet Absence/PresenceThere can be a requirement of an Enterprise where theapplication is expected to work in the absence of internet or incase of less internet connectivity available. The EnterpriseMobile Application Architecture should consider these scenariosand the application should be capable of storing and securing allthe data which is needed by the application locally in case of nointernet scenario. The application should also take care of4securing the local data. Mobile applications should also cater toscenarios when a network/internet connection is intermittent. TheArchitecture should support state management in such cases.G. AuthenticationMost of the Enterprise Mobile Applications need users toauthentic themselves before using the application. Architectingan effective authentication strategy is important for theEnterprise. This is crucial consideration for the reliability andsecurity of the mobile application. There can be somechallenges in implementation as:1) Mobile operating system unlike desktop operating systemsare built to be single-user system and does not provide userprofile and security support beyond just a password (textualor pattern).2) The application strategy should also focus on the scenariowhere users are trying to authenticate in absence of internet.H. AuthorizationAn Enterprise can have different users holding differentpositions willing to use the mobile application. In such casessome of the application features may/may not be available tosome user groups. This is something known as role-based access.The Mobile Application Architecture should be capable enoughto switch on/off the access to particular user based on the accessrights defined.I. CachingHere Caching refers to storing data locally for the applicationin case of instant access n

for mobile applications to interact with. capabilities of component In case of absence of such system, the organization need to build it in order to support mobile applications. C. Develop mobile application strategy A Mobile application strategy is a plan devised in order to build effective mobile applications.

Related Documents:

DDM. Internet. Protocol. Security.31 PL/I.58 considerations for DDM DDM/DRDA.32. CL for command certain considerations passwords for DDM. Considerations.32 ILE. C. considerations. for. DDM. passed. as. clear. text.33. Utility restrictions considerations for for DDM/DRDA DDM 59. Ports. and.34 System/38-compatible DDM database server

Red Hat Enterprise Linux 7 - IBM Power System PPC64LE (Little Endian) Red Hat Enterprise Linux 7 for IBM Power LE Supplementary (RPMs) Red Hat Enterprise Linux 7 for IBM Power LE Optional (RPMs) Red Hat Enterprise Linux 7 for IBM Power LE (RPMs) RHN Tools for Red Hat Enterprise Linux 7 for IBM Power LE (RPMs) Patch for Red Hat Enterprise Linux - User's Guide 1 - Overview 4 .

Enterprise Browser Application And Configuration Version Comparision - From Enterprise Browser 1.8 and above, Enterprise Browser Application and Configuration version comparison is now gets captured at Enterprise Browser log file. [Show Enterprise Browser 1.7 Release Information] [Show Enterprise Browser 1.6 Release Information]

Tutorials Tips and Tricks Other Resources: Online Docs Dev2Dev Discussion Forums Development Blogs Topics Included in This Section Tutorial: Enterprise JavaBeans This advanced tutorial provides a step-by-step guide to developing Enterprise JavaBeans. Enterprise JavaBeans in Workshop for WebLogic Provides an overview of Enterprise

Attaining Semantic Enterprise Interoperability through Ontology Architectural Patterns 1. INTRODUCTION In today's world, the design, development, and deployment of a new enterprise application is no longer taking the prior approach of developing the application from scratch; rather, the emphasis is on the ability to construct a new enterprise ap-

ARCHITECTURAL DESIGN STANDARDS These ARC Guidelines or Architectural Design Standards are intended as an overview of the design and construction process to be followed at Gran Paradiso. Other architectural requirements and restrictions on the use of your Lot are contained in the Declaration of Covenants, Conditions and Restrictions for Gran Paradiso, recorded in the public records of Sarasota .

Agile Mindset and Vocabulary 11 Acceptance Testing Actual Time Estimation Agile Development Practices Agile Manifesto Agile Project Management Agile Release Train Agile Software Development Alignment Application Lifecycle Management (ALM) Architectural Epic Kanban Architectural Epics Architectural Feature Architectural Runway ART Metrics .

A. Reference Standards: 1. American National Standards Institute (ANSI) a. ANSI A208.2 Medium Density Fiberboard (MDF) for Interior Applications. 2. Architectural Woodwork Institute (AWI) a. Architectural Woodwork Standards, 2nd Edition. 3. Architectural Woodwork Manufacturer’s Association of Canada (AWMAC) a. Architectural Woodwork Standards .