Post on 28-Dec-2015
transcript
Developing Large-Scale Enterprise Mobile Apps for Windows Phone 8 and Windows Tablets
Rob Tiffany
WPH-B305
Rob TiffanyMobile Strategist at MicrosoftCreated the Microsoft Windows Mobile Line of Business AcceleratorAuthor, Cloud Architect, Entrepreneur, Speaker, Teacher, SubmarinerCheck out my blog at http://robtiffany.com Follow me on Twitter at http://twitter.com/robtiffanyConnect on LinkedIn at http://linkedin.com/in/robtiffany Watch Building Apps for Windows Phone 8 Jumpstart at http://channel9.msdn.com/Series/Building-Apps-for-Windows-Phone-8-Jump-Start/
Session Objectives And TakeawaysSession Objective(s): Learn mobile enterprise conceptsLearn how to build mobile middleware with SQL Server 2012 + IISLearn how to securely publish enterprise data out to the InternetLearn how to consume and work with data on Windows Phone 8 and Windows Tablets
Between 50% - 70% of your enterprise mobile app development takes place on the backend.Microsoft’s Mobile Enterprise Application Platform (MEAP) extends an organization’s backend systems out to mobile devices in a reusable way saving money and accelerating time to market.
Common core and security architecture
Great, consistent experience across devices
Productive and connected
Robust platform for mobile apps
Unified app and device management
Windows Phone is Built for Business
Mobile Enterprise Concepts
Why are Companies Going Mobile?Productivity and efficiencies are gained by letting employees work anytime from anywhereReal-time vs. batch-mode speeds up the cadence of decision-making to gain a competitive advantageTimely information allows employees to make better decisions at the point of activityExtending backend systems to mobile users is a top priority for CIOsData captured from the field is used in analytics
How does a Company Make this Happen?Mobile Middleware integrates multiple data sources, act as a server façade, & exposes composite data via Web Services in a format consumable by any deviceA Multi-channel Access Gateway securely publishes data out to the InternetDevelopment tools create server logic, client logic + UX, and integration with backend systemsDevices running apps and web browsers consume data and complete transactions in an offline state
Mobile Enterprise Application Platform
DataSources
Back EndSystems
Enterprise
Application
IntegrationData
Aggregation
Multi-ChannelAccess
Gateway
Mobile Middleware
EAI Adapters
HTTPSData Center
Internet
Database ConnectionsWeb
Services
HTTPS
Building Mobile Middleware with SQL Server 2012 + IIS
Mobile MiddlewareEnterprise application integration (EAI) with backend systems and data sourcesAggregate and cache composite data retrieved from those systemsCreate business entities that model the schema created by the aggregated dataBuild RESTful Web Services to expose business entities to mobile clients
Back End Systems + Data Sources via SSISPackagesSAP, Siebel, Oracle, Salesforce, Hyperion, Dynamics, SharePoint, Custom
DatabasesOracle, DB2, Teradata, Sybase, MySQL, Informix, PostgreSQL, Access, FoxPro, IngresVSAM, IMS, LDAP, Lotus Notes, ADABAS, ADO.NET, OLEDB, ODBC, SQL Server Compact
MessagingMSMQ, MQ Series, Tibco Rendezvous, SMTP, EDI, Flat Files, XML, WebSphere, webMethods, SeeBeyond
InternetWeb Services, FTP, HTTP
Visually Connecting AdaptersUse SQL Server Data Tools to Create SSIS PackagesCreate a Data Flow TaskCreate an OLE DB Source that points to a data sourcePerform needed data transformations along the wayCreate an OLE DB Destination that points to SQL Server
Encrypt SSIS Package and data via password or user key to secure integration data movementSSIS holds the world record for ETL operations at over 2 TB transferred per hour
EAI + Data Aggregation via SSISBack EndPackage
Database
FlatFilesMessage
Bus
WebService
EDI
SQLServer
SSISAdapters
EAI
EAI EAI
EAI
EAI
Private Cloud
DemoUsing SSIS to Pull Data from Multiple Backend SystemsRob Tiffany
Scaling Out SQL Server 2012Replication is a SQL Server database engine featureWhy allow all your devices to overwhelm a single database……when smaller groups of devices can connect to multiple, replicated copies of that same database
Databases, tables, and columns can be filtered and replicated to other SQL Server nodesDatabase shards are smaller and therefore faster because disk I/O is reduced since the ratio between memory and data on disk is improvedMost nodes download read-only database shards to accommodate SELECTs (READS)A small number of write-only nodes will be used to upload INSERTs, UPDATEs, and DELETEs (WRITES)
Geo-replication across data centers is facilitated by Peer to Peer Transactional ReplicationComplete copies of the database is replicated and kept up to date
Shared-Nothing Horizontal Partitioning
SQLServer
Publisher
SQLServer
SubscriberSQL
ServerSubscriber
SQLServer
Subscriber
SQLServer
Subscriber
Replication
SQLServer
ReplicationPeer
Geo-Replication
Replication
Private CloudRemote Data Center
DemoUsing Replication to Scale out SQL Server 2012Rob Tiffany
Creating Web ServicesUse Multichannel Transports and Data FormatsREST is how the mobile Internet communicatesJSON is how the mobile Internet serializes data
Business Objects are modeled on database schemaRetrieve Data from SQL Server to hydrate your Business ObjectsSerialize collections of business objects as JSON
Performance + ScalabilityBoost performance and scalability with .NET MemoryCache or AppFabric Caching Increase scalability by load-balancing IIS servers
SSL + Basic authentication to secure data in transit
Scaling and Caching Web Services
SQLServer
Subscriber(Write)SQL
ServerSubscriber
(Read)
SQLServer
Subscriber(Read)
SQLServer
Subscriber(Read)
IIS
IIS
IIS
IIS
IISIIS
IIS
IIS
LoadBalanced
LoadBalanced
LoadBalanced
LoadBalanced
CacheCache
Private Cloud
IIS
IIS
SQLServer
Remote Data Center
DemoBuilding REST Web Services with the ASP.NET Web APIRob Tiffany
Getting Corpnet Data out to Devices
Securely Publish Data to the InternetUnified Access Gateway (UAG)Sits in the DMZ between front and back firewalls with inbound and outbound network interface cardsSecured with a certificate
Listens for web requests on external IP and routes internally to a single web site or load balancer (VIP)Specify a public DNS name “mobile.contoso.com” and a path “/” for the non-public virtual directory and folder of your web services or site
Securely Publish Data to the InternetTerminate and offload SSL traffic or pass it through to the web site via SSL bridgingPre-authenticate or allow web site to authenticateInspect both clear and encrypted packets for malware or other exploitsNO VPN REQUIRED because you’re publishing discreet services instead of exposing the entire networkYou already follow this model to publish Exchange email to devices
Mobile Gateway
IIS
IIS
IIS
IIS
IISIIS
IIS
IIS
UAGReverseProxy
Back
Firewall
Front Fire
wal
l
Private Cloud
IIS
IIS
Remote Data Center
Firewall
UAG
Firewall
Syncing Data in Windows Phone 8 and Windows Tablets
Mobile DataConsume REST web services from native or web appsDe-serialize JSON into an in-memory object collectionSave data offlineWeb: IndexedDB, Web Storage, App CacheApp: SQLCE, SQLite, Object serialization
Capture, change, and edit local data based on business logic requirements and then uploadPassword protect and encrypt local data at restBitLocker + Password enforcement via device management
Sync Data via Web Services
UAGReverseProxy
Windows OfflineData(File)
OfflineData
(SQLite)
OfflineData
(SQLCE)
SSL
Front Fire
wal
l
Back
Firewall
Private CloudRemote Data Center
Windows
OfflineData(DB)
OfflineData(File)
Firewall
UAG
Firewall
SSL
DemoSyncing Data in Windows Phone 8 + Windows TabletsRob Tiffany
Logical MEAP ArchitectureBack EndPackage
Database
FlatFilesMessage
Bus
WebService
EDI
SQLServer
Publisher
SSISAdapters
SQLServer
Subscriber(Write)SQL
ServerSubscriber
(Read)
SQLServer
Subscriber(Read)
SQLServer
Subscriber(Read)
Replication
Geo-Replication
ReplicationIIS
IIS
IIS
IIS
IISIIS
IIS
IIS
LoadBalanced
LoadBalanced
LoadBalanced
LoadBalanced
CacheCache
EAI
EAI EAI
EAI
EAI
UAGReverseProxy
Front Fire
wal
l
Back
Firewall
Private CloudRemote Data Center
IIS
IIS SQLServer
Windows
OfflineData(DB)
OfflineData(File)
Firewall
UAG
Firewall
SSL
Windows OfflineData(File)
OfflineData
(SQLite)
OfflineData
(SQLCE)
SSL
In ReviewSession Objective(s): Learn mobile enterprise conceptsLearn how to build mobile middleware with SQL Server 2012 + IISLearn how to securely publish enterprise data out to the InternetLearn how to consume and work with data on Windows Phone 8 and Windows Tablets
You should now be equipped with the building blocks and architectural blueprint needed to build a large-scale, private cloud, Mobile Enterprise Application Platform using the Microsoft stack.
msdn
Resources for Developers
http://microsoft.com/msdn
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources
Sessions on Demand
http://channel9.msdn.com/Events/TechEd
Resources for IT Professionals
http://microsoft.com/technet
Windows Phone Breakout SessionsTuesday, June 25:
1:30pm - The phone that has everything the enterprise needs: Windows Phone 83:15pm – The top down guide for developers: Windows Phone 85:00pm – The power of collaboration: Integrating Windows Phone with Office 365, Exchange and SharePoint Online
Wednesday, June 26:8:30am – All aboard for the future of HTML5 mobile & hybrid web apps for Windows Phone 8 and Windows Tablets10:15am – The Windows Phone 8 networking survival kit12:00pm – Build it once for both: Writing code and designing for Windows 8 and Windows Phone 83:15pm – Mobile Security in the Enterprise: Windows Phone 8 Answers the Call5:00pm – Using C and C++ in your Windows Phone 8 Applications
Windows Phone Breakout SessionsThursday, June 27:
10:15am – Developing large-scale enterprise mobile apps for Windows Phone 812:00pm – Speechifying your Windows Phone 8 applications3:15pm – Secrets of using background agents for Windows Phone 85:00pm – Manage Windows Phone enterprise apps
Friday, June 28:8:30am – Support your demanding LOB apps with SQLite and Windows Phone 810:15am – Creating Windows Phone 8 apps for SharePoint4:30pm – Windows Phone: How to make money with your applications and games
Windows Phone Hands On LabsPorting Windows 8 to Windows Phone 8Windows Phone 8: File and Protocol AssociationWindows Phone 8: Lock Screen WallpaperWindows Phone 8: Voice CommandWindows Phone 8: TilesWindows Phone 8: PurchaseWindows Phone 8: WalletWindows Phone 8: Running Tracker
Windows Phone BoothDevice Bar featuring the latest Windows Phones in the marketplaceExpert Area – Stop by the booth to get all your Windows Phone questions answered by Windows Phone expertsTheater Presentations:
The Windows connected experienceBuild Mobile Apps Using Familiar Development ToolsWhy Windows Phone in the Enterprise?
Windows Phone PromotionsAttend a Windows Phone theater session to be entered into a drawing for Windows Phones.Windows Phone Breakout Sessions – Attend Windows Phone breakout sessions and be entered into a drawing to win a Windows Phone.
Track resourcesFor more information about Windows Phone:
http://www.windowsphone.com/business
Evaluate this session
Scan this QR code to evaluate this session.
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.