Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hardcore Office Development Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska 4-306.

Similar presentations


Presentation on theme: "Hardcore Office Development Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska 4-306."— Presentation transcript:

1

2 Hardcore Office Development Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska 4-306

3

4 Me.About Software Technologist for Third Sector Technologies in Fairbanks, Alaska Software Technologist for Third Sector Technologies in Fairbanks, Alaska Develop software and Web applications Develop software and Web applications Business and technology consulting Business and technology consulting

5 My Other Jobs Author Author Several books, including VB Programmers Guide to the Windows Registry Several books, including VB Programmers Guide to the Windows Registry Regular contributor to several publications, including Informants Microsoft Office & VBA Developer, VBPJ, and Information Week Regular contributor to several publications, including Informants Microsoft Office & VBA Developer, VBPJ, and Information Week Training Training VB, VBA, VI, and SQL Server instructor for Application Developers Training Company VB, VBA, VI, and SQL Server instructor for Application Developers Training Company

6 Who is... Actively developing applications with Office as a primary component? Actively developing applications with Office as a primary component? Using Microsoft Office 2000 Developer edition? Using Microsoft Office 2000 Developer edition? Primarily a VB developer? Primarily a VB developer? Primarily developing with other tools? Primarily developing with other tools? Using the Workflow design tool in MOD? Using the Workflow design tool in MOD?

7 Agenda Office as part of a distributed application Office as part of a distributed application Windows DNA Windows DNA Data-based applications Data-based applications Logical architecture and physical deployment Logical architecture and physical deployment Motherlode of objects Motherlode of objects Component-based development Component-based development Data, data, everywhere Data, data, everywhere Code location options Code location options Office on the Web Office on the Web

8 Models Of Distributed Apps SneakerNet SneakerNet Purest form of distributed computing Purest form of distributed computing Minimal infrastructure requirements Minimal infrastructure requirements Distributed computing Distributed computing Download data and upload results Download data and upload results Classic client/server Classic client/server Active connection required, can be stateless like the Internet Active connection required, can be stateless like the Internet Three-tier, n-tier Three-tier, n-tier Internet/Web Internet/Web As many others as you can think of As many others as you can think of

9 Windows DNA Architecture No rigid boundaries between tiers and services Dont limit your thinking to using Office here only!

10 Windows DNA And Office Offices place in n-tier Offices place in n-tier Presentation tier Presentation tier Business Logic tier Business Logic tier Data Services tier Data Services tier Tools and system services Tools and system services

11 Presentation Tier Roles Gather information from the user Gather information from the user Send information to the business services for processing Send information to the business services for processing Receive results of business services processing Receive results of business services processing Present results to the user Present results to the user Same, ol boring stuff. Be creative!!

12 Business Logic Tier Roles Receive information from the presentation services Receive information from the presentation services Interact with the data services to perform the business operations that the application was designed to automate Interact with the data services to perform the business operations that the application was designed to automate e.g. Medical billing, Sales Force Automation (SFA), order processing, income tax preparation, etc. e.g. Medical billing, Sales Force Automation (SFA), order processing, income tax preparation, etc. Send the processed results to the presentation services Send the processed results to the presentation services Heres where Office Shines!!

13 Data Services Tier Roles Responsible for the storage, retrieval, maintenance, and integrity of data Responsible for the storage, retrieval, maintenance, and integrity of data E.g., RDBMS, Mail Server, File System E.g., RDBMS, Mail Server, File System Get used to ADO Get used to ADO Learn something about RDS Learn something about RDS Every app is a database app Every app is a database app Use Access? Maybe, maybe not. But how integrate data throughout app?

14 Multiple Users, Multiple Servers, And Multiple Ulcers Logical versus physical Logical versus physical Where does Office fit in? Where does Office fit in? Several models.... Several models....

15 Logical Versus Physical Single machine Data Services Tier Business Logic Tier Presentation Tier Client

16 Logical Versus Physical Client-server machines Data Services Tier Business Logic Tier Presentation Tier Client Server

17 Logical Versus Physical Client-server alternative Data Services Tier Business Logic Tier Presentation Tier Client Server

18 Logical Versus Physical Three-tier Data Services Tier Business Logic Tier Presentation Tier Client Server B Server A

19 Intra-Application Service Calls Arrays Arrays Disconnected recordsets Disconnected recordsets Read/write recordsets Read/write recordsets Read-only recordsets with action queries Read-only recordsets with action queries eXtensible Markup Language, XML eXtensible Markup Language, XML Method parameters by reference Method parameters by reference Plenty of other options! Plenty of other options! What makes sense for the application? What makes sense for the application? Different methods between different tiers Different methods between different tiers Different methods in each direction Different methods in each direction

20 Figuring Out Object Models Hundreds of objects, thousands of features Hundreds of objects, thousands of features Visual Basic for Applications object basics Visual Basic for Applications object basics Objects Objects Finding library and class names Finding library and class names Objects in the registry Objects in the registry Object model diagrams Object model diagrams

21 The Object Browser Expose all the details of the object libraries currently accessible to your application Expose all the details of the object libraries currently accessible to your application Right-click to expose useful features Right-click to expose useful features Group members Group members Show hidden members Show hidden members References References Discovering the proper syntax Discovering the proper syntax Relating the model to the host application Relating the model to the host application objXLWorksheet.Worksheets(1).Cells(1, 1).Value

22 Finding The Right Object Who has used Office Code Generator? Who has used Office Code Generator? Fixing up Macro Recorder code Fixing up Macro Recorder code Use object variables Use object variables Set a reference to object library Set a reference to object library Remove hard-coded file names Remove hard-coded file names Remove unnecessary parameters Remove unnecessary parameters Determine if host application is running Determine if host application is running Other leads on objects Other leads on objects Intellisenses Auto List Name Intellisenses Auto List Name Auto Quick Info Auto Quick Info Quirks of the Office object models Quirks of the Office object models

23 Code Location Options Issue of code reusability Issue of code reusability Locating code inside office applications Locating code inside office applications Office documents Office documents Shared code across multiple office applications Shared code across multiple office applications COM Add-ins COM Add-ins Single Visual Basic for Applications project office applications Single Visual Basic for Applications project office applications Automating Office with external clients Automating Office with external clients Automating external applications with Office Automating external applications with Office In general: put the code as close to the objects as you can In general: put the code as close to the objects as you can

24 Where Store Data? Internal to Office: documents Internal to Office: documents Access databases Access databases Excel spreadsheets Excel spreadsheets Outlook ® for PIM data Outlook ® for PIM data Word for random text Word for random text Internal to custom application Internal to custom application External data stores External data stores Database Database Windows registry Windows registry Deciding on the right place to store data Deciding on the right place to store data Format, normalization, multiple users, integrity Format, normalization, multiple users, integrity Import or link? Import or link?

25 COM Add-Ins Standard way of extending Office 2000 Standard way of extending Office 2000 Across all host applications Across all host applications Available both in user interface and Visual Basic for Applications environment Available both in user interface and Visual Basic for Applications environment Need to deal with various object models Need to deal with various object models Different models across Office 97 Different models across Office 97 Create with any COM development tool Create with any COM development tool

26 Building Add-In Objects Build with MOD or Visual Basic Build with MOD or Visual Basic More flexibility with Visual Basic More flexibility with Visual Basic ActiveX ® designer ActiveX ® designer Optional, but convenient Optional, but convenient Manages registry settings for you Manages registry settings for you Include one for each host Include one for each host Connect object used to load add-in Connect object used to load add-in

27 Putting Office On The Web FrontPage ®, of course FrontPage ®, of course Office Web components Office Web components Licensing issues! Licensing issues! Data access pages Data access pages Save as Web page Save as Web page Heavy use of XML Heavy use of XML Office on the Web server Office on the Web server Careful of licensing! Careful of licensing! Mostly the middle tier? Mostly the middle tier?

28 Questions? See Appendix A for security issues in Office Thanks for attending! Please remember to fill out the evaluation forms! How can I make this a better presentation? Don Kiely Third Sector Technologies

29 Appendix A: Office Security The Power & the Problem Embedded VBA opens up a world of application possibilities Embedded VBA opens up a world of application possibilities While opening up a world of potential pain from macro viruses While opening up a world of potential pain from macro viruses Anything that you can do from VBA you can do from a VBA virus Anything that you can do from VBA you can do from a VBA virus Delete files Delete files Execute rogue ActiveX components Execute rogue ActiveX components Much, much more Much, much more No such thing as a benign virus No such thing as a benign virus

30 Security Issues Protect intellectual property Protect intellectual property Block access to code you develop Block access to code you develop The embarrassing stuff, too The embarrassing stuff, too Protect confidential information Protect confidential information Block access to valuable information contained within an Office document Block access to valuable information contained within an Office document Protect against malicious hackers Protect against malicious hackers Block viruses from adding rogue code Block viruses from adding rogue code Uniquely identify origin of the code (you) Uniquely identify origin of the code (you)

31 Office Protection Racket Document and template passwords Document and template passwords Excel and Word passwords, user login to VBA applications Excel and Word passwords, user login to VBA applications Network security Network security Built on Windows NT/2000 security for authentication and access to resources Built on Windows NT/2000 security for authentication and access to resources Third-party anti-virus software Third-party anti-virus software API link to Office documents API link to Office documents COM Add-in COM Add-in Protects code from user mangling Protects code from user mangling Lock VBA project to prevent editing Lock VBA project to prevent editing Digital certificates Digital certificates

32


Download ppt "Hardcore Office Development Don Kiely Software Technologist Third Sector Technologies Fairbanks, Alaska 4-306."

Similar presentations


Ads by Google