next generation lob (line of business) applications

Download Next Generation LOB (Line of Business) Applications

Post on 09-May-2015

14.734 views

Category:

Technology

4 download

Embed Size (px)

DESCRIPTION

A presentation that explores what the next generation of LOB (Line Of Business) applications might look like, through five characteristics.

TRANSCRIPT

  • 1.Next Generation Line of Business (LOB) ApplicationsSimon Guest Senior Director, Technical Strategy Microsoft Corporation

2. Introduction My First LOB Application 3. Introduction My First LOB Application Back to 1994 4. Introduction My First LOB ApplicationMy First LOB Application 5. Introduction My First LOB Application 6. Introduction My First LOB ApplicationWhat would happen if I tried to write this today? 7. Introduction Defining a LOB Application 8. Introduction Defining a LOB ApplicationWikipedia: A line-of-business application is one of the set of critical computer applications that are vital torunning an enterprise 9. Introduction Defining a LOB Application The following 5 characteristics: 10. Introduction Defining a LOB ApplicationInteractive: LOB Applications are interactive by nature. Data is entered, and results/reports are returned. 11. Introduction Defining a LOB ApplicationComposable: LOB applications tend to have one or more parts that compose the user interface. These partsmay interact with each other as needed. 12. Introduction Defining a LOB Application Data Driven: LOB applications are data intensive. Manylive close to the database, and access frequently. 13. Introduction Defining a LOB Application Integrated: LOB applications often integrate with other systems. These can be a variety of data feeds, either within or outside the organization. 14. Introduction Defining a LOB ApplicationExtensible: LOB applications are extensible by nature. They often support add-ons or plug-ins used to tailor an application or make deployment easier. 15. Session Objectives What are you going to get from this session? 16. Session Objectives What are you going to get from this session?Explore each characteristic to helpyou apply to your own application Give you the details of whats new in each of these areasShow through demos how we are supporting these new features 17. Interactive Entering data and getting results 18. Interactive Entering data and getting resultsBack to 1994 How do I get this TAB order working? 19. Interactive Entering data and getting resultsSince then... Better forms, many controls, betteroutput, great reporting solutions, voicecommand, etc. 20. Interactive Entering data and getting resultsHow about now?What am I excited about now?NUI (Natural User Input),specifically touch 21. Interactive Entering data and getting resultsIs touch going to replace the mouse and keyboard? 22. Interactive Entering data and getting results Touch augments the Windows experience. Every input method has its pros and cons no input method isideal for everything. 23. Interactive Entering data and getting resultsAre we really seeing devices thatsupport touch? 24. Interactive Entering data and getting resultsDevice Availability HP TouchSmart IQ504 PCDELL Latitude XT2 (Intel Core 2 Duo T5750)(Intel Core 2 Duo SU9400) 25. Interactive Entering data and getting results Is touch supported in Windows 7? 26. Interactive Entering data and getting resultsGesture SingleMulti Gesture Action Action TouchTouch Press on target, tap Press and Tapwith other fingerYesTwo fingers Zoomapart/togetherYesTwo fingers in Rotateopposing directionYesTwo Finger Tap Tap two fingersYes Wait for blue ring and Press and Holdrelease YesYes FlicksQuick drag gestures YesYes 27. Interactive Entering data and getting results What you get for freePanning and Zooming, Right Click Gestures 28. Interactive Entering data and getting resultsMinimal Incremental Work Use WM_GESTURE Win32 API to trap gesture notifications, handle pan, zoom, and rotate 29. Interactive Entering data and getting resultsBest Experience Use WM_TOUCH Win32 API to handle raw touch data,manipulation, and inertia processors 30. Interactive Entering data and getting results Does this relate to Surface? 31. Interactive Entering data and getting resultsSurface ApplicationWindows Forms WPF Native Application ApplicationSurface SDK Win32Multi-Touch Controls ApplicationManaged Wrapper WPF 3.5 SP1WPF 3.5 And Interop Windows 7Surface (Multi-Touch API)Hardware 32. Interactive Entering data and getting results SurfaceApplicationWindows FormsWPF Native ApplicationApplication Surface SDK Win32 Specific Controls ApplicationManaged Wrapper WPF 4.0 And Interop Multi-Touch Controls Windows 7Surface (Multi-Touch API)Hardware 33. Interactive Entering data and getting results How about other input mechanisms? 34. Interactive Entering data and getting resultsMany other sensors exist today but can be difficult 35. Interactive Entering data and getting results e.g. to use a GPS, your application has to be device specific 36. Interactive Entering data and getting results How is this supported? 37. Interactive Entering data and getting results Windows 7 Sensor and Location Platform 38. Interactive Entering data and getting results Sensor TypeSensor PlacementTypical UseGPSBuilt into, or attached to, computerLocation and orientation AccelerometerBuilt into computer or attached to computer Motion and orientation ProximityBuilt in or nearby to the computerPresence and spatial awareness LightBuilt in, nearby, or remote Ambient light conditions RFID Built into the computer or attached to person Identification of physical items CompassAttached to personOrientation Camera Built into the computer or attached Recording, object identification, facial recognition Microphone Built into the computer or attached Ambient noise conditions TemperatureBuilt into the computer or remote Indoor/Outdoor Ambient Temperature, cooking temperature Moisture RemoteDetection of water leaks, garden sprinkler systems Motion DetectorBuilt into the computer or remote Security systems, presense TrafficRemote, usually publicTravel time predictions Weather stationRemote, usually publicWeather conditions and predictions 39. Interactive Entering data and getting resultsSingle API call to answer questions e.g. Where am I? 40. Interactive Entering data and getting results How does this work? 41. Interactive Entering data and getting resultsYour ApplicationLocation APISensor APISensor ClassSensor Class Extension Extension UMDF Sensor DriverUMDF Sensor Driver 42. Interactive Entering data and getting results That covers input, but how aboutgetting stuff out? 43. Interactive Entering data and getting resultsVendor Examples of Controls OfferedLinkActipro WPF Studio Ribbon, Bar Code, Wizard, DateTime, Calendar, Transition, http://www.actiprosoftware.com Color Selection, Transition Effects LibraryBlendables Zoombox, ElementSnapshot, Carousel, http://www.blendables.com ChromelessWindow, DragAndDrop, Pie Chart, OS Check, Timeline PanelComponentOne Schedule, Month Calendar, Chart, Grid http://www.componentone.comDevComponentsOffice UI, Window Managementhttp://devcomponents.comDivelementsOffice UI, Window Managementhttp://divelements.com/Infragistics Carousel, DataPresenter, Grid, Masked Edit, DateTimeEdit, http://www.infragistics.com CurrencyEdit, NumericEdit, CheckEdit, TextEdit, ThemePacks, ChartMindscapePropertyGrid, TextBoxes, DropDownPickershttp://www.mindscape.com.nzNeoDynamic BarCode http://www.neodynamic.comOrbifold Diagraming tool http://www.orbifold.comSoftwareFx Chartinghttp://www.softwarefx.comSyncFusion Docking, Office UI, GroupBar, Chartinghttp://www.syncfusion.comTelerikRADControls Suite (Calendar, Carousels, Gauges, etc.) http://www.telerik.comXceedDatagridhttp://www.xceed.com 44. Interactive Entering data and getting resultsNameTypeLinkiTextSharpGenerate PDF files on the fly http://csharp-source.net/open-source/pdf-libraries/itextsharpReport.NETPDF document creation from ADO.NET data sourcehttp://csharp-source.net/open-source/pdf-libraries/report.netPDF Sharp PDF creation including GDI+ like drawing routines http://csharp-source.net/open-source/pdf-libraries/pdfsharpSharpPDFPDF creation for .NET 1.1 http://csharp-source.net/open-source/pdf-libraries/sharppdfPDFjetDynamic PDF generation from Java or .NEThttp://csharp-source.net/open-source/pdf-libraries/pdfjet-open-source-editionASP.NET FO PDFSimilar to ASP.NET Server Controls, written in C# http://csharp-source.net/open-source/pdf-libraries/asp.net-fo-pdfPDF Clown C# 2.0 library for reading, writing PDF files http://csharp-source.net/open-source/pdf-libraries/pdf-clown 45. Interactive Entering data and getting resultsBut, what if I want to create Officedocuments? 46. Interactive Entering data and getting results Old way is to use theApplication Object Model 47. Interactive Entering data and getting results but: Need local copy of Office installed on server Does not scale Try running automation on 100s of documents Dialog boxes stop automation Have to reboot application on server every X hours 48. Interactive Entering data and getting results Open XML SDK 2.0 49. Interactive Entering data and getting resultsHow does the Open XML SDK work? 50. Interactive Entering data and getting resultsDevelopers see a zip file with XML parts File Container Users see asingle file Document properties Comments WordML/SpreadsheetML/etc.Custom Defined XMLImages, video, soundsMyDoc.docx Styles Charts 51. Interactive Entering data and getting results Demo - Using OpenXML SDKto read/write Word Documents 52. Interactive Entering data and getting results Talking about speeding things upHow about the processor? 53. Interactive Entering data and getting results Suns Surface 10,000Power Density (W/cm2)Rocket Nozzle1,000Nuclear Reactor 100 8086 Hot Plate 1080083862864868080 1 70 80 90 00 10 Intel Developer Forum, Spring 2004 - Pat Gelsinger 54. Interactive Entering data and getting results Isnt developing parallel applications difficult? 55. Interactive Entering data and getting results Getting easier, especially with.NET 4.0 and Visual Studio 2010 56. Interactive Entering data and getting resultsPLINQParallel Debugger Task Parallel Library Concurrency RuntimeProfilerConcurrencyThread PoolAnalysis (Task Scheduler and Resource Manager)ThreadsOp