babo's picture From babo rss RSS  subscribe Subscribe

Business Objects lecture 6 



Business Object & ActiveX/COM
 
Tags:  Business  Object 
Views:  1355
Downloads:  6
Published:  August 17, 2007
 
1
save to favorite
ask author to add audio Ask author to add audio
Share plick with friends Share
mark as inappropriate Mark as inappropriate
 
Related Plicks
Microsoft Office Business Scorecard Manager 2005

Microsoft Office Business Scorecard Manager 2005

From: gavi
Views: 1881 Comments: 0
Extensibility
Extend Microsoft Office Business Scorecard Manager 2005 with advanced analysis solutions
Integrate with LOB Applications
BI Partners can extend Microsoft Offi (more)

 
Legacy Small Business Consulting Services

Legacy Small Business Consulting Services

From: legacyassociates
Views: 1078 Comments: 0
small business consulting, management support services with assessments, strategic business plans, feasibility studies, and mentoring programs.
 
NRL Business Plan 2

NRL Business Plan 2

From: emily
Views: 3430 Comments: 1
Increase the competitive opportunities
Provide young players with heroes
Create marketable properties
Provide infrastructure for competitive equity
A (more)

 
[English Finance Management] How to draw up a business plan

[English Finance Management] How to draw up a business plan

From: jane
Views: 2786 Comments: 0
A clear statement of your company’s long-term mission. Try to use words that will help direct the growth of your company, but be as concise as possible.
 
MediaHub Solution Framework

MediaHub Solution Framework

From: SweetAss
Views: 1669 Comments: 0
Introduction to mediahub solution frameword
 
SOA Workshop - Service Identification Framework v2.0

SOA Workshop - Service Identification Framework v2.0

From: emily
Views: 2644 Comments: 0
Service Identification Framework (SIF) is a methodology based on best practices and real-life experiences identifying services

 
See all 
 
More from this user
20070419earth

20070419earth

From: babo
Views: 3129
Comments: 2

 Digital Identity within E-Business and E-Government: Where are we now and Where do we go from here

Digital Identity within E-Business and E-Government: Where are we now and Where do we go from here

From: babo
Views: 2782
Comments: 1

ASAP Jan06 Presentation Merrifield

ASAP Jan06 Presentation Merrifield

From: babo
Views: 3903
Comments: 1

《 企業如何建構藍海策略 》

《 企業如何建構藍海策略 》

From: babo
Views: 6173
Comments: 1

3   Sune Schackenfeldt   PA Consulting

3 Sune Schackenfeldt PA Consulting

From: babo
Views: 3011
Comments: 2

2009 3 Blue Ocean Strategy s2  HO 2

2009 3 Blue Ocean Strategy s2 HO 2

From: babo
Views: 5281
Comments: 1

See all 
 
Place your Ad here for $2.00 a month
Sample Ad
Advertise your business on myplick.
Only $2.00 a month.
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments:
 
 
Notes:
 
 
Slide 1: Business Object & ActiveX/COM Toward Enterprise Applications
Slide 2: What are Business Objects  During this semester we will gain all the tools to deploy a real enterprise application.  Business Objects are the core of these applications
Slide 3: What are business Objects  Business objects are designed to represent ‘real objects' and concepts in our business. Here are some examples of these ‘real objects':       An employee A purchased part A manufactured part A work order A customer Bank Account
Slide 4: What are business Objects  The idea behind using software business objects is to create representations of these same objects inside our applications.  an employee might create a work order to build a manufactured part from one or more purchased parts that are then sold to the customer.  A well-designed customer object can contain all the data and procedures needed to represent a customer throughout an entire business and this can be used across all the applications for that business.
Slide 5: Why Business Objects?  Intuitive Modeling of Our Solution for business needs  Code Reuse  Creating Building Blocks  Extendibility, Usability, Scalability…
Slide 6: Modeling Our Business Employee Manufactured Part Is a( Inh eri t ) Creates (initiate) d uil B Uses (reference) Is a( Inh Work Order t ini s( e iat eri t) + d ho t me ) Purchased Part
Slide 7: Modeling Our Business Rules CRM Sample Lets examine how we model business needs as business objects in order to implement a System
Slide 8: Modeling Our Business Rules CRM Sample Order Object GetOrderDetails() GetOrderItems() As Collection AddOrderItem() …. OrderItem Object Status as OrderItemStatus UpdateHours() UpdateStatus() GetDetails() ….
Slide 9: OrderItem Object Status as OrderItemStatus UpdateHours() UpdateStatus() GetDetails() GetNextPossibleStatus() OrderItemStatus Object Name as String ValidUntill as Date RequirePayment as Boolean ……
Slide 10: Implementing Business Objects  In this section we will examine the technologies that enable creating business objects
Slide 11: Components Library  Problem  We have a code for customer and we are using it in two different projects  Solution 1: 2 copies of the source file  There's no easy way to keep them all synchronized!!!  Solution 2: Library-oriented design
Slide 12: Creating Component Libraries in Visual Basic ActiveX Technology:  Store Classes (Components) in a DLL  Standard format  DLL = Dynamically Loaded Library, Executable File  Language Independent  You can create your ActiveX library in C++ and use it in VB and vise versa  Enables communication between applications and components  e.g. embedding excel chart in PowerPoint
Slide 13: Libraries Sample Power Point Library Real Audio Library This Library contains only one class The Library is compiled in raocx32.dll file Library that store 39 classes. Any VB Client application can use any of these objects in these Libraries
Slide 14: Creating Component Sample
Slide 15: Example – Using Excel Component Dim objExcel As Excel.Application Dim objBook As Excel.Workbook Dim objSheet As Excel.Worksheet Set objExcel = New Excel.Application Set objBook = objExcel.Workbooks.Add Set objSheet = objExcel.Worksheets.Add 'Allow user to view spreadsheet. objExcel.Visible = True objSheet.Cells(1, 1) = "Months" objSheet.Cells(1, 2) = "1997" objSheet.Cells(1, 3) = "1998" objExcel.Range("A1: C1").Font.Bold = True objExcel.Range("A1: C1").Font.Size = 16 objExcel.Range("A1: C1").Font.Shadow = True Dim intCount As Integer For intCount = 1 To 12 Object variable declarations. Create the object references. Set up titles. Change the font attributes of the headers. Seed data into Excel. objSheet.Cells(intCount + 1, 1) = lblLabels(intCount - 1).Caption objSheet.Cells(intCount + 1, 2) = txt1997(intCount - 1).Text objSheet.Cells(intCount + 1, 3) = txt1998(intCount - 1).Text Next
Slide 16: Email Component Sample http://www.aspemail.com/ Dim Mail Set Mail = CreateObject("Persits.MailSender") Mail.Host = "mail.idc.ac.il" ' Specify a valid SMTP server Mail.From = "bbinnun@idc.ac.il"' Specify sender's address Mail.FromName = "Boaz Binnun" ' Specify sender's name Mail.AddAddress "someone@idc.ac.il", "someone" Mail.AddReplyTo "bbinnun@idc.ac.il" Mail.AddAttachment "c:\cakes.gif" Mail.Subject = "Thanks for ordering our hot cakes!" Mail.Body = "Dear Sir:" & vbNewLine & "Thank you for your business." Mail.Send
Slide 17: CreateObject Vs. New  CreateObject (Late Binding)  The object type is not known at compile time  The application specifies the object name at run time  In case of problem (e.g. library does not exist) a run time error will raise  No Type checking  New (Early Binding)  At compile time the compiler will try to locate the library and object.  Type checked
Slide 18: Enterprise application N-Tier Client Server  Typical Large Enterprise Application implement business Logic in a middle tier: Presentation Layer Business Tier Data Tier CRM.exe Database CRM_bus.dll http://www.crm.com CRM_db.dll
Slide 19: Enterprise application N-Tier Client Server  Security: Putting a physical and application layer between the application and the data hence providing better security  Business rules are always enforced, data integrity always protected  If a hacker attacks the web server the Database is still safe  Managing resources better:  if I only use the connection twice a minute, why not allow another client to use it in the meantime?  Performance: This central application server can more efficiently manage network traffic and the load on the database server.  Scaleable: separating the UI from the business and the DB makes the application easier to maintain and to scale  Availability: We can put several servers in each tier ensuring that if one falls the other will still server the users
Slide 20: Lets examine what a real application is made out of Presentation Layer Business Tier Data Tier CRM.exe Database CRM_bus.dll http://www.crm.com CRM_db.dll
Slide 21: The Database
Slide 22: Database design issues  The database is the base building block of the application  Bad database design and implementation could cause harsh problem in the entire application (‘earth quack’)  normalization rules, FK , PK check constrains, triggers , indexes etc..  We will review database in future lectures
Slide 23: The Data Tier - Data Access Layer  Provides the interface to the data in database
Slide 24: The Business Logic Layer  Interact with the database using the Data Access Library.  Usually stored on a dedicated server  Executed using a Middleware – system that manages components  Encapsulates Business Rules
Slide 25: The User Interface  Interacts with the Business logic components  Can be implemented in any interface (Windows, Web, Mobile, Palm, Mac etc..)
Slide 26: Architecture summery
Slide 27: Example: the Distinct Layers of an Application.  This following example demonstrates the distinct layers of an application.  The application:  Very simple, has a single form and uses a simple text file as a logical database. txtName cmdGet cmdPut
Slide 28: The simple application Business rules  We have two business rules.  The name must be in uppercase  The name is required. Private Sub txtName_LostFocus() txtName.Text = UCase$(txtName.Text) End Sub Private Sub cmdPut_Click() If Len(Trim$(txtName.Text)) = 0 Then MsgBox "You must enter a name", vbInformation Exit Sub End If End Sub
Slide 29: Simple application DB  save the name to 'database' (file)  pull the name back in from our 'database' Private Sub cmdPut_Click() Dim lngFile As Long If Len(Trim$(txtName.Text)) = 0 Then MsgBox "You must enter a name", vbInformation Exit Sub End If lngFile = FreeFile Open "C:\TEMP.TMP" For Output As lngFile Print #lngFile, txtName.Text Close lngFile End Sub Private Sub cmdGet_Click() Dim lngFile As Long Dim strInput As String lngFile = FreeFile Open "C:\TEMP.TMP" For Input As ngFile Line Input #lngFile, strInput txtName.Text = strInput Close lngFile End Sub  We also add some code to the Get and Put events (view source)
Slide 30: Viewpoint of a Three-tier Logical Model  We'll try to determine which parts of the program performs:  Presentation  The business logic  The data processing.
Slide 31: Presentation Layer  The presentation layer contains the form and some of the code behind it: txtName.Text = strInput MsgBox "You must enter a name", vbInformation txtName.Text = UCase$(txtName.Text)  What are the Problems:  Next slide->
Slide 32: Presentation Layer  The presentation code is in the middle of other code - not interface related!  The line txtName.Text = UCase$(txtName.Text) does 2 things:  It converts the name to uppercase (a business rule),  Displays the name back into the form so that the user can see the final result (a presentation choice).  No way of changing the interface without tampering with business-related code  Can't change our business rules without affecting the interface code.
Slide 33: The Business Tier  Here again the business code is inside other layers code.  Problems:  Len(trim$(txtName.Text)) = 0.  txtName.Text = UCase$(txtName.Text).  The same problem as before.  No Reuse  Suppose we need to provide access the txtName to some other program ( or from some other part of the same program): since the business logic is so tied into the display of this form, we'd have to duplicate the business code elsewhere.
Slide 34: The Data Services Tier  the data service code : lngFile = FreeFile. Open "C:\TEMP.TMP" For Output As lngFile. Print #lngFile, txtName.Text. Close lngFile. Open "C:\TEMP.TMP" For Input As lngFile. Line Input #lngFile, strInput. txtName.Text = strInput. Close lngFile.  the data processing is mixed right in with the presentation and business logic, making it difficult to change the data processing without risking the other parts of the program.
Slide 35: The N-Tier solution  The ideal solution is to pull:   the user-interface code into one area the business logic into another  the data processing into a third.  make it much easier to change any section of our program with less risk of causing bugs in the other tiers.  we can change our presentation code without impacting the business code itself.  Enable us to store on different server (security, availability etc..)  Facilitate code reuse  very easy for our application to show the same business information through various presentations.
Slide 36: Building Three-tier Solution  In our solution will build two components (ActiveX dll) and an client application  Data access layer component  Business layer component  Presentation layer three-tier-sample.vbg
Slide 37: Solution architecture
Slide 38: What Have We Gained  Suppose we wish to change the database to SQL server, what changes would it require?  Since the interface (GetData, StoreData) remains, all we need is to change the DataAccess layer!  Suppose we wish to add a BR that every name that begins with dr. Will be added to a special record.  The method store data in the business layer is the only thing that should be modified.  We found a bug in the DataAccess layer.  No body should be notified just change the dll!  We want all the employees in to work with the program over the network.  Put the dll’s in the organization application server. Update the client to call methods over the network (very simple, we will see how to do this.).

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location
close
Please fill out the form below. You will be asked to make your payment to Myplick (Eastar Technologies) via Paypal. Your request will be processed within 24 hours after your submission.
 
Title (max 25 characters)
Link (placed on title)
Content (max 100 characters)
You have successfully submitted your ad request. Please send your payment to ericandlei@myplick.com via PAYPAL.
Ad submission failed. Please report the problem to ericandlei@myplick.com.