DTO, Business Objects and architectural layers design

Hi everybody,
What would prevent one from using Business objects (properties + getters/setters and bevaviour related to a business entity) thru all tiers of a J2EE Web application ?
Example : DAO layer populates BO properties, Business layer uses BO behaviour , web layer stores BO in some scope (request,session,...) for view presentation of the BO properties.
Compared to a DTO/VO (only properties, no behaviour) solution :
- If the application is distributed the BO solution adds serialization overhead (possibl performance bottlenecks) if BO's are large objects.
- If there is requirements for clustering , storing large BO's in session adds session replication overhead.
- BO solution breaks layer isolation , but practically speaking what could be the consequences of it ?
- Some BO properties need formatting for text deiting by the views and cannot be displayed as is.
- BO solution is a more OO approach than using only data objects
What other arguments can you think of ?

"Session" data applies to the session. Thus when I
order a book and it is added to my shopping cart the
session data might be used to store that information.
But that data in of itself is not a "business
s object". It is, by definition, session data.Ok conceptually speaking it is session data, but from
a technical point of view you need an Object instance
of some sort to hold that data.No actually you don't.
There are a number of ways to maintain session data. With tradeoffs between each.
What I was talking about (which does not mean I think
It is a good idea...) is using the BO properties for
holding that data and storing the BO instance(s) in
the session.
And I still don't see that this is a "Business Object". No more so than a security key is a "Business Object".
The best term is session data and you might have different groupings (data not behavior) within that.
Exactly what behavior do you envision?Any computational behaviour that uses the BO
properties and is needed to implement a use case.
This behaviour is used to calculate data that is not
persisted by the DAO as is but rather computed from
m other persisted data.
Give me an exact example.
For example it would be quite reasonable to have a DTO that represents a "rectangle" and that DTO would have a height and width and the DTO would have a method that return the area (multiplying the two data points.)
Conversely my previous example of the zipcode, the DTO should NOT have a method to validate that the zipcode exists although it could validate that it has the correct form (5/9 digits in the US.)
The problem is coupling. If the BO needs the
database layer (see the zipcode example above) then
the GUI layer is going to need the database layer is
well. Even though the GUI will never use the
database layer.I understand that this coupling applies to
distributed architectures where you package your
applications in different jars/wars/ears. In this
case If BO's ared used thru all layers, The GUI
(web) layer needs the data access layer jars even if
it will never use it.
This clearly adds coupling.
But in the case of a collocated application (a single
war) it does not change anything.
No. The point is not how the application is architected.
The point is that the GUI layer is then dependent on the database layer internals.
Consider another example, the DTO is produces a formatted xml string using a XML library. Now you need to create the database layer for the system. The database layer does not need the XML at all. And yet just to compile the database layer you are going to have to provide the XML library. This represents coupling that serves no purpose. And although in very small projects it might be convienent in larger projects coupling like that will cause problems and confusion.
And? Are you suggesting that the BO should do the
formatting?No I mean that DTO/VO's could have either text
formatting/editing methods or property types (e.g
String formatted property for a date) that facilitate
the work of the presentation layer. And most of the time that is going to be incorrect.
"Formatting" for a web page is likely to be different than for a printed report. And for a backend system it might need XML which is still a different format. Adding all of that to the DTO is not the way to do it. (In the same way that the database and gui code should not be intermixed.)
I would not put
any similar formatting behaviour in the BO. That's
why I consider this issue while comparing BO and
DTO's
- BO solution is a more OO approach than using only
data objects
No it isn't.
An object that prints itself is not more OO than one
that is printed.
I thought one of the purpose of OO programming was to
group behaviour and dataCertainly, but it doesn't mandate that one form of grouping is better than another. After if that was the sole concern then why not have just one object for the entire application - that is one way to "group" it.

Similar Messages

  • SAPBI data accessing from Business objects and other OLAP tools

    Hi,
    We already have heavy usage of Business Object, Essbase and are planning to implement SAPBI 7.0
        a) We are planning to connect our existing Business
            Objects infrastructure onto the new SAPBI platform, Did
            You experience any issues such as performance,
            config issues, delays, web issues.. is there any
            document or link with steps involved in integrating
            Business objects and SAPBI
         b) Can Bex analyzer gives simliar functionalities that
            are in Essabse front- end (EXCEL), I know that the
            backend data managament is quite different, but my
            question is around user  interface, do you have any
            comparisons between these two tools.
         c) Is it possible to get data from SAPBI using external
            reporting tools (OLAP) such as Oracle Discoverer ...
    Regards,
    Raman

    if the export to XML file is successful, the file will not be deleted if you are creating it from Metadata Exchange.
    The file gets deleted in case you are using the create universe option and by default the file is created in %LINK_DIR%\log\MetadataExchange, you will also see ME_errorlog.txt and ME_outputlog.txt if there are any errors, do you see and erros in these files if you are creating the Universe directly from DS Designer ?
    to use Metadata Exchange do the following
    Open Data Services Desginer
    Click on tools Menu -> Metadata Exchange
    In the Metadata Exchange window
    Select Export Data Services metadata to a file
    Select DI CWM as metadata format
    enter location for xml file (C:\temp)
    Select the datastore you want to create Universe for
    Click OK
    Check for file named repo_export.xml in the C:\temp folder or the folder that you specified
    Open Universe Builder and Select
    Data Integrator bridge
    and use the xml file as input to create universe

  • Optimum approach to architect BI solution in Business Object and SAP BI

    Hi Expects , I as long as my experience going in delivering BI solution in Business Object and SAP BI We have option to connect to SAP BI via Building BO Universe on SAP BI cube or BEX Query . Now take a example we have 1000s of BEX queries in production. So Should I architect the solution recommending creation of 1000s of BO Universe. Which I donu2019t feel fusible option. You may reply me back saying create BO Universe on SAP BI Cube/Multiprovider, which will reduce no of universe to be created . But at the same time couple of questions comes in my mind u20131. Will I be able to leverage SAP BIA (SAP Business Intelligence Accelerator) to get best performance . 2. As of now BIA dose not accelerate queries build on Multiprovider ??? I believe When I Build Universe on BEX Query It will leverage BIA , But Not sure what will happen if I build BO Universe on Cube. Can we collectedly arrive at Optimum approach to architect Bi solution in Business Object and SAP BI ?? Comments are welcomed Regards Ashutosh D

    Ashuthosh...
    You might want to have a look at Pioneer for another option for your architecture.
    https://www.sdn.sap.com/irj/scn/subscriptions/content?rid=/media/uuid/905d0ad2-9060-2b10-73bc-ce42a5668c6e
    Arun

  • Script to stop and start Business Object and its components

    Hi Guru
    I have installed Business Objects and few of its componenents.
    Please assist where I can find a proper script to do a clean stop and start of its services.
    My server is Windows 2008 SP2.
    Target services to have a scripts are;
    1. MySQL server 5.1.
    2. Apache Tomcat 5.5.20.
    3. BW Publisher Service 12.
    4. Server Intelegence Agent.
    Appreciate some assistance here. Thanks!
    -Ace-

    All of those components are available as Windows services. You can use the relevant
    net stop
    commands to stop them.
    Regards,
    Stratos

  • Business Object and SAP Integration

    All,
    We've BOJ Data Services XI installed.
    Would like to integrate with SAP, does anyone know how or have good information about Business Object and SAP Integration?
    Please adivce.

    Hi Lynn,
    If you need to have Business Objects and SAP work together in conjunction you need to have the Business Objects Integration Kit for SAP. Integration Kit provides the database drivers and other features for reporting off SAP.
    Link to download the useru2019s Guide:
    -     Please go to Http://help.sap.com
    - Click on Business Objects tab
    - Select the product as Integration Kit for SAP
    User guide: Business Objects Integration Kit for SAP Useru2019s Guide.
    I hope that helps you.
    Regards,
    Prashant

  • Business object and BW

    Hi gurus can any one tell the difference between  difference between a Business Object and Business Warehouse.
    Regards
    Arunkumar

    Hi,
    BO is basicallya reporting tool...
    and now BO will be used for reporting on BW.....
    Check these details BW and BO integration..
    follow the link
    www.scribd.com/doc/7805501/BI-BO-Integration
    http://www.jonerp.com/content/view/170/46/
    Have a look at this:
    http://www.businessobjects.com/products/dataintegration/dataintegrator/sap.asp
    This link has lots of PDF documents between SAP and Business object:
    http://www.businessobjects.com/solutions/sap/default.asp
    Also check:
    http://www.dmreview.com/article_sub.cfm?articleId=2839
    http://searchsap.techtarget.com/general/0,295582,sid21_gci1077480,00.html
    check the foll links.
    http://www.businessobjects.com/solutions/sap/
    http://72.14.235.104/search?q=cache:A5mUGEzyGLUJ:www.businessobjects.com/pdf/solutions/xi_sap_insight.pdfBW%26BUSINESSOBJECTS&hl=en&gl=in&ct=clnk&cd=5
    http://www.buisnessobjects.com/news/press/press2003/cust_sapbw_webseminar.asp
    http://www.buisnessobjects.com/solutions/enterprise_solutions/operational_bi.asp
    http://www.businessobjects.com/products/
    http://help.sap.com/saphelp_erp2005/helpdata/en/a4/1be541f321c717e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/30/8d27425005ca7ee10000000a1550b0/frameset.htm
    regards
    Venkat...
    Edited by: Venkata Narayana Jakkampudi on Dec 30, 2008 12:57 PM

  • Business delegate and Session facade design patterns

    Does any one tell me, what is the difference between business delegate and session facade design patterns.

    1. Session Facade decouples client code from Entity beans introducing session bean as a middle layer while Business Delegate decouples client code from EJB layer ( Session beans).
    2. SF reduces network overhead while BD reduces maintenance overhead.
    3. In SF any change in Session bean would make client code change.
    While in DB client is totally separate from Session bean because BD layer insulate client from Session beans(EJB layer).
    3. In only SF scenario, Client coder has to know about EJB programming but BD pattern no EJB specialization needed.
    4.SF emphasizes on separation of Verb, Noun scenario while BD emphasizes on separation of client(presentable) and EJB layer.
    Anybody pls suggest more differences ?

  • Difference Between Business Object And Class Object

    Hi all,
    Can any one tel me the difference between business object and class Object....
    Thanks...
    ..Ashish

    Hello Ashish
    A business object is a sematic term whereas a class (object) is a technical term.
    Business objects are all important objects within R/3 e.g. sales order, customer, invoice, etc.
    The business objects are defined in the BOR (transaction SWO1). The have so-called "methods" like
    BusinessObject.Create
    BusinessObject.GetDetail
    BusinessObject.Change
    which are implemented (usually) by BAPIs, e.g.:
    Business Object = User
    User.Create => BAPI_USER_CREATE1
    User.GetDetail => BAPI_USER_GET_DETAIL
    CONCLUSION: Business Object >< Class (Object)
    Regards
      Uwe

  • Query on SAP Business Object and Content shipment..

    I know about SAP Business Suite... & SAP Business One... But what is :
    1. SAP Business Object and
    2. Content Shipment
    The definitions on the SAP Release & Maintenance Strategy and other docs on SDN were not too clear for my understanding. I want to know why are they used / where are they applied ? E.g: if you have a SAP BW system.. why would you need SAP BW Content ? where does it fit in the picture and what purpose does it serve...
    (PS: it would be great if someone can share the product / functionality details of their landscape where these systems are used, how does it benefit the business operations and any other purpose of having them... )
    Thanks,

    Hi Ashim,
    If your client want it to be done in one database, then the answer is no if you do not have any add-on or SDK codes.  Most difficult part is authorization since I believe what you mean project here is not the same as project center in B1,
    If your client allow more than one database, then the configuration will be easy.
    Thanks,
    Gordon

  • Business objects and start events required for CO11N and CO13 transactions

    Hi,
    We do production order <b>confirmation</b> and <b>cancellation</b> in CO11N and CO13 respectively. Can somebody please tell me the corresponsing business objects and the start events for them? This is a very urgent issue, I will surely rewad good points.
    I guess we need to use AFVC_PM object and "finalconfirmation" event for the confirmation.
    Please confirm this and kindly suggest the same for cancellation.
    Thanks,
    Max

    Hi Max,
    You will have to use the object BUS2005 - which is for Production order.
    If you do not have Required events in the BO, you will have to extend object to add those custom events e.g. Cancellation event.
    In this case you wil have to use Status management technique for raising events if standad transaction is not raising them.
    Hope following SAP Help link might help you  to start off..
    http://help.sap.com/saphelp_47x200/helpdata/en/c5/e4aed5453d11d189430000e829fbbd/content.htm
    Regards,
    Akshay Bhagwat

  • SAP Cloud Application Studio Create Custom Web Service From Custom Business Object and Consume in External System

    Hi Experts,
    I have requirement to create custom business object and create Web Service for that and use in external system (SAP ECC / SAP CRM / Third Party).
    1) Is it possible to create custom object web service and used in external system ?
    2) When we create the Web service from custom business object what the necessary steps(action : Create , Read , Update) require?
    3) Sample Scenario :
    My Custom Business Object
    businessobject Custom_Integration {
      element EP_VAL1 : LANGUAGEINDEPENDENT_MEDIUM_Text;
      element EP_VAL2 : LANGUAGEINDEPENDENT_MEDIUM_Text;
      element IP_RES : LANGUAGEINDEPENDENT_MEDIUM_Text;
    I have created the Web Service using this custom business object.
    3) How i can use this web service in external system? what are the prerequisite steps in external system to consume this service in it?
    Please anyone have idea about this how to do this and how to achieve this using SDK and custom business object.
    Many Thanks
    Mithun

    Hello Mithun,
    Does this section in the documentation help you:
    SAP Cloud Applications Studio Help -> Developers Desktop -> Web Services
    The entry "Task -> Create a Web Service" describes how to create a Web Service on your own BO
    The entry "Task -> Test a Web Service" helps you how you can use it in a foreign tool / application.
    HTH,
       Horst

  • SAP Business Objects and SAP Business Objects PCM

    Hi all
    We want to know if is recommendable to have Business Objects and SAP Business Objects PCM installed in the same server, and if is necessary to have a special configuration of the services for both applications?
    Thanks in advance

    Hi,
    You can refer the below link for PCM Install guide:
    http://service.sap.com/~sapidb/011000358700000225772009E/FPM75_PCM_InstallGuide_en.pdf
    If you are looking for more info related to specific requirements then from the below link select BusinessObjects tab and select PCM category for more guides.
    http://help.sap.com
    -Noor.

  • SAP Business Objects and IBM i White Paper available

    The "SAP Business Objects and IBM i" White Paper is available on IBM Techdocs under the follwing URL:
    [http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101947]
    The SAP Business Objects and IBM i white paper describes how the SAP Business Objects Enterprise XI server fits into an SAP on IBM i landscape. The paper provides detailed instructions showing how to integrate data sources located on an IBM i server with SAP Business Objects.
    Feel free to post your feedback and comments.
    Thanks and Regards,
    Mirco
    Edited by: Mirco Malessa on Jul 14, 2011 1:11 PM

    Hi ,
       Please find these blogs by Ingo. This should help you.
    BusinessObjects and SAP - Installation and Configuration Part 1 of 4
    Install Part #1
    BusinessObjects and SAP - Installation and Configuration Part 2 of 4
    Install Part #2
    BusinessObjects and SAP - Installation and Configuration Part 3 of 4
    Install Part #3
    BusinessObjects and SAP - Installation and Configuration Part 4 of 4
    Install Part #4
    BusinessObjects and SAP - Configure SAP Authentication
    SAP Authentication
    BusinessObjects Integration with SAP NetWeaver BI - Technical Material
    Thanks,
    Gopi

  • Business ByDesign UI: find Business Objects and UI definitions involved

    Hello,
    I am new to SAP Business ByDesign sdk development. The most difficult part is to identify the right Standard SAP Business Objects and use them the right way.
    As I understood from another sdk developer, he has seen on an SAP sdk training that there exists functionality to see/determine in the ByDesign UI the Business Objects and UI definitions involved in a specific UI.
    In a test tennant for a customer this functionality is unavailable.
    - is this functionality released for customer use?
    - how can I activate this functionality myself?
    - what are the prerequisites to be able to use this functionality?
    thank you for your answers in advance,
    Roelof Jan Bouwknegt

    Hi Alexandre,
    have a look at the Web Dynpro component WDR_TEST_EVENTS, view BG_SIMPLE_IN_MPANE, method WDDOMODIFYVIEW.
    Here is a snippet for setting additional customizing or data for a business graphics view-element. Call this from method WDDOMODIFYVIEW.
    DATA lr_bg TYPE REF TO cl_wd_business_graphics.
    DATA lr_bg_method_handler TYPE REF TO if_wd_busin_graphics_mtd_hndl.
    DATA lr_add_cust_xml TYPE REF TO if_ixml_document.
    lr_bg ?= ir_view->get_element(  <your viewid of business graphic>  ).
    lr_bg_method_handler ?= lr_bg->_method_handler.
    lr_add_cust_xml =  get_<your additional customizing/data>.
    lr_bg_method_handler->add_direct_customizing(
    i_customizing = lr_add_cust_xml
    Kind regards,
    Silke

  • Business Objects and OBIEE

    Hi,
    Can some one please explain me what are Oracle Business Objects and how is it different to Oracle Business intelligence Enterprise edition.
    Also please point me to Oracle Business Objects Documentation.
    Appreciate your help on this.
    Thanks,
    Kiran

    Kiran,
    Jokes aside, Theres a few documents on how Oracle partner with Business Objects but there is no "Oracle Business Objects" BI product, at least up until end of last year before I left Oracle Consulting BI practice.
    Yes SAP Business Objects connects and supports Oracle 10G database functionality, but that would be Oracle DB, not Oracle BI EE.
    I seriously doubt they would launch ANOTHER BI tool with the same application name as a competitor?
    I hope you can get the information you are seeking.

Maybe you are looking for