Intergration Services and Essbase SQL-Interface

Hi, Experts,
I have learned that if I need to access relational database I need to have one of the above components.
Well, as SQL-Interface is free, what is an Intergration Services good for?
Please give me some advices.
Thanks.
Regards,
Linda

Both SQL Interface and Analytic Integration services provide direct link to the RDBMS.
In AIS, We have to create OLAP Model(Logical Star Schema) and MetaOutline(Rules to load memebers and data) based on the OLAP Model.

Similar Messages

  • Failed cfg on Essbase /Essbase administration service and Essbase / Studio

    Hi Friends,
    I Installed Oracle Hyperion Foundaion services,esbase and planning.
    i deployed essbase in standalone mode.
    when i run EPM system Diagnostic I am geting failes status on
    Essbase /Essbase administration service and Essbase / Studio with the Test Description
    FAILED CFG: Configuration Check whether all configuration tasks have been completed
    Error: Next tasks are not configured:
    hubRegistration: Configuration Failed
    Recommended Action: Try to configure mentioned tasks
    is there any problem because of this?please suggest
    Regards
    DB

    Hi,
    Have you configured Essbase, Shared services and Planning component after installation; were it successful last time.
    Thanks
    Focusthread Hyperion Trainer
    [http://focusthread.com/training]

  • Issue with Essbase - SQL Interface in UNIX box

    Hi All,
    One of our customer is facing an issue while trying to connect to the Oracle datasource from Essbase version 9.0.1.0.00 in a 64 bit UNIX box. He is using Oracle wired protocol for SQL interface.
    Customer has tried the below and getting the below error:
    1) Ran the nst-sql.sh file.
    2) Edited the odbc.ini file and the .profile file with the required dsn information.
    3) From the console selected the open SQL option and received the following error " There are no datasources defined. Please create one to continue"
    I have attached the odbc.ini file and the .profile file for your reference.
    Any help appreciated.
    Thanks,
    Bharathi Raja
    ODBC.ini file
    ARBORPATH=/hyper/arbor/Hyperion/AnalyticServices
    HYPERION_HOME=/hyper/arbor/Hyperion
    ESSLANG=English_UnitedStates.Latin1@Binary
    SHLIB_PATH=.:/hyper/arbor/Hyperion/common/ODBC/Merant/5.0/lib:/hyper/arbor/Hyperion/AnalyticServices/bin:$SHLIB_PATH
    PATH=$PATH:$ARBORPATH/bin:/usr/lib:$ARBORPATH:$HYPERION_HOME/common/ODBC/Merant/5.0/lib
    LD_LIBRARY_PATH=$HYPERION_HOME/common/ODBC/Merant/5.0/lib
    ulimit -c unlimited
    ulimit -n 1024
    LIBPATH=/hyper/arbor/Hyperion/common/ODBC/Merant/5.0/lib
    LANG=en_US
    ODBCINI=/hyper/arbor/Hyperion/Essbase/bin/.odbc.ini
    [ODBC Data Sources]
    DB2 Wire Protocol=DataDirect 5.0 DB2 Wire Protocol Driver
    dBase=DataDirect 5.0 dBaseFile(*.dbf)
    FoxPro3=DataDirect 5.0 dBaseFile(*.dbf)
    Informix=DataDirect 5.0 Informix
    Informix Wire Protocol=DataDirect 5.0 Informix Wire Protocol
    Oracle=DataDirect 5.0 Oracle
    Oracle Wire Protocol=DataDirect 5.0 Oracle Wire Protocol
    Progress9=DataDirect 5.0 Progress SQL92
    Progress10=DataDirect 5.0 Progress OpenEdge
    SQLServer Wire Protocol=DataDirect 5.0 SQL Server Wire Protocol
    Sybase Wire Protocol=DataDirect 5.0 Sybase Wire Protocol
    Text=DataDirect 5.0 TextFile(*.*)
    [DB2 Wire Protocol]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARdb220.sl
    Description=DataDirect 5.0 DB2 Wire Protocol Driver
    AddStringToCreateTable=
    AlternateID=
    Collection=OS/390 and AS/400 (leave blank for DB2 UDB)
    Database=DB2 UDB (leave blank for OS/390 and AS/400)
    DynamicSections=100
    GrantAuthid=PUBLIC
    GrantExecute=1
    IpAddress=DB2 server host
    IsolationLevel=CURSOR_STABILITY
    Location=OS/390 and AS/400 (leave blank for DB2 UDB)
    LogonID=UID
    Password=PWD
    Package=DB2 package name
    PackageOwner=
    TcpPort=DB2 server port
    WithHold=1
    [dBase]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARdbf20.sl
    Description=DataDirect 5.0 dBaseFile(*.dbf)
    ApplicationUsingThreads=1
    CacheSize=4
    CreateType=dBASE5
    Database=$HYPERION_HOME/common/ODBC/Merant/5.0/demo
    DataFileExtension=DBF
    ExtensionCase=UPPER
    FileOpenCache=0
    IntlSort=0
    LockCompatibility=dBASE
    Locking=RECORD
    UseLongNames=0
    UseLongQualifiers=0
    [FoxPro3]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARdbf20.sl
    Description=DataDirect 5.0 dBaseFile(*.dbf)
    ApplicationUsingThreads=1
    CacheSize=4
    CreateType=FoxPro30
    Database=$HYPERION_HOME/common/ODBC/Merant/5.0/demo
    DataFileExtension=DBF
    ExtensionCase=UPPER
    FileOpenCache=0
    IntlSort=0
    LockCompatibility=Fox
    Locking=RECORD
    UseLongNames=0
    UseLongQualifiers=0
    [Informix]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARinf20.sl
    Description=DataDirect 5.0 Informix
    ApplicationUsingThreads=1
    CancelDetectInterval=0
    CursorBehavior=0
    Database=db
    EnableInsertCursors=0
    GetDBListFromInformix=1
    HostName=Informix host
    LogonID=UID
    Password=PWD
    Protocol=onsoctcp
    ServerName=Informix server
    Service=Informix service name
    TrimBlankFromIndexName=1
    [Informix Wire Protocol]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARifcl20.sl
    Description=DataDirect 5.0 Informix Wire Protocol
    ApplicationUsingThreads=1
    CancelDetectInterval=0
    Database=db
    HostName=Informix host
    LogonID=UIDUID
    Password=PWDPWD
    PortNumber=Informix server port
    ServerName=Informix server
    TrimBlankFromIndexName=1
    [Oracle]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARor820.sl
    Description=DataDirect 5.0 Oracle
    ApplicationUsingThreads=1
    ArraySize=60000
    CatalogIncludesSynonyms=1
    CatalogOptions=0
    DefaultLongDataBuffLen=1024
    DescribeAtPrepare=0
    EnableDescribeParam=0
    EnableNcharSupport=0
    EnableScrollableCursors=1
    EnableStaticCursorsForLongData=0
    EnableTimestampWithTimeZone=0
    LocalTimeZoneOffset=
    LockTimeOut=-1
    LogonID=UID
    OptimizeLongPerformance=0
    Password=PWD
    ProcedureRetResults=0
    ServerName=Oracle host
    UseCurrentSchema=1
    [Oracle Wire Protocol]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARora20.sl
    Description=DataDirect 5.0 Oracle Wire Protocol
    ApplicationUsingThreads=1
    ArraySize=60000
    CachedCursorLimit=32
    CachedDescLimit=0
    CatalogIncludesSynonyms=1
    CatalogOptions=0
    DefaultLongDataBuffLen=1024
    DescribeAtPrepare=0
    EnableDescribeParam=0
    EnableNcharSupport=0
    EnableScrollableCursors=1
    EnableStaticCursorsForLongData=0
    EnableTimestampWithTimeZone=0
    HostName=Oracle server
    LocalTimeZoneOffset=
    LockTimeOut=-1
    LogonID=UID
    Password=PWD
    PortNumber=1521
    ProcedureRetResults=0
    SID=Oracle SID
    UseCurrentSchema=1
    [Progress9]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARpro920.sl
    Description=DataDirect 5.0 Progress SQL92
    DatabaseName=db
    HostName=Progress9 host
    LogonID=UID
    Password=PWD
    PortNumber=Progress9 server port
    [Progress10]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARpro1920.sl
    Description=DataDirect 5.0 Progress OpenEdge
    DatabaseName=db
    HostName=Progress10 host
    LogonID=UID
    Password=PWD
    PortNumber=Progress10 server port
    [SQLServer Wire Protocol]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARmsss20.sl
    Description=DataDirect 5.0 SQL Server Wire Protocol
    Address=SQLServer host,SQLServer server port
    AnsiNPW=Yes
    Database=db
    LogonID=UID
    Password=PWD
    QuotedId=No
    [Sybase Wire Protocol]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARase20.sl
    Description=DataDirect 5.0 Sybase Wire Protocol
    ApplicationName=
    ApplicationUsingThreads=1
    ArraySize=50
    Charset=
    CursorCacheSize=1
    Database=db
    DefaultLongDataBuffLen=1024
    EnableDescribeParam=0
    EnableQuotedIdentifiers=0
    InitializationString=
    Language=
    LogonID=UID
    NetworkAddress=Sybase host,Sybase server port
    OptimizePrepare=1
    PacketSize=0
    Password=PWD
    RaiseErrorPositionBehavior=0
    SelectMethod=0
    WorkStationID=
    [Text]
    Driver=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/ARtxt20.sl
    Description=DataDirect 5.0 TextFile(*.*)
    AllowUpdateAndDelete=0
    ApplicationUsingThreads=1
    CacheSize=4
    CenturyBoundary=20
    Database=$HYPERION_HOME/common/ODBC/Merant/5.0/demo
    DataFileExtension=TXT
    DecimalSymbol=.
    Delimiter=
    FileOpenCache=0
    FirstLineNames=0
    IntlSort=0
    ScanRows=25
    TableType=Comma
    UndefinedTable=GUESS
    [ODBC]
    IANAAppCodePage=4
    InstallDir=$HYPERION_HOME/common/ODBC/Merant/5.0
    Trace=0
    TraceDll=$HYPERION_HOME/common/ODBC/Merant/5.0/lib/odbctrac.sl
    TraceFile=odbctrace.out
    UseCursorLib=0
    *.Profile file*
    HYPERION_HOME=/hyper/arbor/Hyperion
    ESSLANG=English_UnitedStates.Latin1@Binary
    SHLIB_PATH=.:/hyper/arbor/Hyperion/common/ODBC/Merant/5.0/lib:/hyper/arbor/Hyperion/AnalyticServices/bin:$SHLIB_PATH
    PATH=$PATH:$ARBORPATH/bin:/usr/lib:$ARBORPATH:$HYPERION_HOME/common/ODBC/Merant/5.0/lib
    LD_LIBRARY_PATH=$HYPERION_HOME/common/ODBC/Merant/5.0/lib
    ulimit -c unlimited
    ulimit -n 1024
    LIBPATH=/hyper/arbor/Hyperion/common/ODBC/Merant/5.0/lib
    LANG=en_US
    ODBCINI=/hyper/arbor/Hyperion/Essbase/bin/.odbc.ini

    The essbase user needs to be restarted to be able to see the new odbc.ini entries.
    After editing the files you mentioned, did you restart the essbase services?
    At the very least, did you exit EAS, then restart EAS? (I don't remember which one of these will do it.) If your entries are correct, then one of these should get the essbase user to 'see' the odbc connection.
    Also, it might help to remove extraneous entries in the .odbc.ini file, kind of difficult to read thru all of that.
    Robert
    Edited by: RobertR3 on Mar 17, 2009 10:19 AM

  • Shared services and Essbase Sync issue

    Hi,
    Today morning all of sudden lot of users raised an issue that they can't see few applications while connecting through Smart view. I have checked Shared services and the groups are already provisoned. Finally I ran alter system resync sss and after the syncing its fine.
    Any reasons why this morning Syncing was not there.
    Thanks..

    Its fascinating, if the users are provisioned too they can see other applications in smart view and that's what I heard but never checked on it, Is there any possible filters where they cant see it ?
    If so please let me know.

  • Regarding Shared Services and Essbase Access

    Hello,
    I am curious on few things regarding how Essbase and Shared services are interlinked.
    Basically we have created Essbase Filters to limit the User access to specific entities , my concern is if a User is trying to Run a report or retrieve through Smart View and if they don't have access to any one of the list of Filter definitions say if there are X , Y ,Z entities in the Spread sheet for Smart View retrieval or in a report and the user does not have privilege for Z do they still get terminated from the entire Essbase Applications. I encountered similar type of problem with one of the users today.
    Any comments.
    Thanks !

    Thanks for the reply Glenn , yes it should not get disconnected or have any connection issue. But below is what the error we get when using Essbase security filter.
    **** Cannot Open Member Selection. Essbase Error(1001064):You do not have sufficient access to perform read on this database ****

  • Clarification regarding Shared services and essbase security

    Hi,
    Sorry for the silly doubt. We have shared services to manage security, essbase v 9
    1. to assign calc access for users, do i assign calc scripts under databases in group security and assign users to groups in shared services or do it via access control in shared services?
    2. If in shared services i havent given calc access but in eas user belongs to a group with that particular calc script access, which would take precedence?
    Regards,
    N shah

    In shared services, when i click on a particular application under the essbase server under the projects folder, there are cases where there are no users or groups under the 'available users and groups'. Why is this so? groups and users are supposed to be there.
    Also, in a different application, i saw one available user. however when i try to provide calc access. its not changing anything. I select the calc script and then click the check mark. however nothing changes. The calc access for the user is specified as none. When i login to excel with the same user id, i can see all the calc scripts available for the user. Where are the details being picked up from.??
    Edited by: 862089 on Jul 13, 2011 9:55 PM

  • Shared Services and Essbase Server Access Question

    Hi,
    It seems that we have to assign Essbase Server access at the individual username level and that groups don't work when it comes to Essbase Server Access. Is this correct or are we doing something wrong and groups do work with Essbase Server access? We are on 11.1.1.3 Essbase/Planning/Shared Services.
    Thanks

    You can provision Essbase Server Access via groups but it must be the very first thing provisioned and pushed to Essbase. Then after that, provision your groups with other accesses such as Planning, Reports etc....

  • Shared Services and Essbase

    Hello All,
    Pretty much an undesired Bug, Basically there is an ID listed as an Essbase admin which yes it was few months back. At present that ID has been removed from Shared Services , also I checked in the list of Essbase Users within EAS and did not find the ID.
    Interesting thing ***** When I exported the Essbase security file I could see that ID listed as an Admin , not sure how it comes up only in Security file but not any where else.
    Is there any issue between Essbase and Shared services communication, because the Essbase should refresh Manually for any changes in the Shared Services.
    Any comments Friends ?
    Thanks !!

    Its probably worth having a read of the following docs in Oracle Support as they should give an idea
    Deleting a User/Group from Shared Services Does Not Delete it from the Essbase Security File [ID 1388447.1]
    How to Delete a User from the 11.1.2.x Essbase.sec File [ID 1396890.1]
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Web Services and PL/SQL-functions

    Hi.
    Is it possible to make a Web service able to "select all emp" and return all emp in a XML-stream back to the service.
    I can select one single emp, that works according to examples on OTN.
    Hans-Inge.

    The service-config.xml and client-config.xml are config files used by the Webservices assembler, which generates webservices from PL/SQL. JPublisher is used under the hood.
    However, the 10.1.3 assembler may run without service-config.xml and client-config.xml. If you can run the build.xml file for the demo, then you are fine.

  • Slow site, latency between cloud service and SQL Azure?

    We have a web site that works pretty swiftly in a local development environment. But once deployed to Azure it slows down to a crawl (even for a single user). Some pages take 30-60 seconds to load. Even the simplest pages take between 5 and 10 seconds.
    The app is rather data intensive, so the way I see it, there is a slow connection between the cloud service and the SQL node. We currently use S2 instance, the S1 and S0 didn't work at all because of timeouts. When we execute queries directly against the database,
    they all return within milliseconds, so it is not a query performance issue. It seems that there is a big penalty on establishing the connection between the web node and SQL node.
    I am not sure if this is a provisioning issue. At times it actually begins to work a bit faster. Not quite as fast in a local environment, but barely acceptable. But then it goes back to excruciatingly slow. Any advice is appreciated.

    Hi Mimo,
    Is this a 5-20second load time something that occurs every time you load the page or just on the first time you load it (cold start)?  The default website  settings might tear down your site after a period of inactivity and I'm wondering
    if that might be what's causing the performance issues.
    Couple of things you might want to check :
    - Increase the Instance count
    - Check the Monitor Tab in Azure Website to see how much of CPU, DataIN and Data Out time is taken for a request to the site.
    Recommend you to see this thread discussion on  Failed request tracing
    for troubleshooting on Slow requests  and a video  on  
    Troubleshooting Slow Requests with Failed Request Tracing that might help troubleshoot the slowness of website.
    Regards,
    Shirisha Paderu

  • AAS & Provider services and conflict between exl adin & smart view

    Hi,
    I just installed Hyperion Essbase 9.3.1 for test purpose for our upgrade from 7.0 to 9.3. I have one machine and I installed Administration console, Hyperion Provider services and Essbase.
    I need to install administration console and Hyperion provider services as a service on windows environment. How I can install as a service.
    If I work excel add in v 7.1 and smart view 9.3 on a same machine. It will give me any error or conflict?
    Thank you.
    T.Khan

    Hi,
    I am not sure that fully understand what you are asking so I apologise if I have misread this.
    Are you saying you have installed EAS server and APS on a machine but didn't tick the install as a service when you were configuring ?
    If that is the case then if you have installed using tomcat, in the directory :- \Hyperion\deployments\Tomcat5\bin
    There are scripts to create services :- installServiceaas.bat & installServiceaps.bat
    If excel addin 7.1 and smart view do cause any issues you can easy turn one of them off, for instance with Smart View you can go to the tool bar in Excel > Hyperion > About > Untick enable Add-in
    Or just untick the addins from the addins menu options in excel.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Having issues after installing Essbase V9.3.1,configuring the SQL interface

    I am having issues after installing Essbase V9.3.1 and configuring the SQL interface. we are using UNIX/AIX box for our Essbase server and UDB DB2 9.1 SP6 as our SQL Interface.
    When tried to run an ESSCMD script to perform BUILDDIM operation on Essbase application using the load rule (with the SQL interface), got the error as recorded in the application log file and is attached at the bottom and the .odbc.ini file on the server looks as follows.
    Can somebody tell me whether .odbc.ini needs any correction or what else should I do to correct the issue and able to work thru using SQL interface? Appreciate any help provided in this regard. Thanks,
    .odbc.ini
    [ODBC Data Sources]
    DOLU003=IBM DB2 ODBC DRIVER
    [DOLU003]
    Driver=/home/db2inst1/sqllib/lib/libdb2.a
    Database=DOLU003
    [ODBC]
    Trace=0
    TraceFile=odbctrace.out
    InstallDir=/home/db2inst1/sqllib/odbclib
    [Mon Apr 20 15:16:29 2009]Local/New_Bud/Budget/Olapadm/Info(1021020)
    Cannot read SQL driver name for [] from [home/hyperion/.odbc.ini]
    [Mon Apr 20 15:16:43 2009]Local/New_Bud/Budget/Olapadm/Info(1013091)
    Received Command [SQLRetrieve] from user [Olapadm]
    [Mon Apr 20 15:16:43 2009]Local/New_Bud/Budget/Olapadm/Info(1021020)
    Cannot read SQL driver name for [] from [home/hyperion/.odbc.ini]
    [Mon Apr 20 15:16:43 2009]Local/New_Bud/Budget/Olapadm/Info(1021004)
    Connection String is generated
    [Mon Apr 20 15:16:43 2009]Local/New_Bud/Budget/Olapadm/Info(1021041)
    Connection String is [DSN=DOLU003;UID=...;PWD=...]
    [Mon Apr 20 15:16:43 2009]Local/New_Bud/Budget/Olapadm/Info(1021006)
    SELECT Statement [SELECT * FROM DB2OLADM.BD_DIMENSION_DEF_PC WHERE DIMENSION_ID
    = 12 ORDER BY TREE_NODE_NUM, PARENT_NODE, CHILD_NODE] is generated
    [Mon Apr 20 15:16:44 2009]Local/New_Bud/Budget/Olapadm/Info(1021013)
    ODBC Layer Error: [7] ==> [[DataDirect][ODBC 20101 driver]6013]
    [Mon Apr 20 15:16:44 2009]Local/New_Bud/Budget/Olapadm/Info(1021014)
    ODBC Layer Error: Native Error code [0]
    [Mon Apr 20 15:16:44 2009]Local/New_Bud/Budget/Olapadm/Error(1021001)
    Failed to Establish Connection With SQL Database Server. See log for more information
    --------------------------------------------------------------------------------------------------------------------------------------------

    I had similar errors when first setting up the SQL interface. Are you on a 64 bit operating system on the essbase server? If so Essbase needs to use the 32 bit odbc driver, not the default 64 bit driver.
    The 32 bit driver is still available here SysWOW64\odbcad32.exe <-----This is the 32 bit (Use)
    The Administrative tools by default uses system32\odbcad32.exe <----This is the 64 bit (Don't Use)
    Once I opened the 32 bit driver interface directly and set it up the errors went away.

  • Problems getting ODBC SQL Interface to work for Essbase 11.1.1.3

    Hi folks.
    We're running Essbase 11.1.1.3 on Linux (32 bit) and I want to use the ODBC SQL Interface to load fact data.
    We have run the SQL Interface install .sh script successfully, then restarted the Essbase agent, and have modified the ODBC.ini file to use the Oracle Wire Protocol driver.
    I enter the SQL query in the rule Data Prep Editor in EAS (File | Open SQL) and when I hit "OK/Retrieve" I get the error "Failed to Establish Connection with SQL Database Server."
    The application log file says:
    ODBC Layer Error: [S1000] ==> [[DataDirect][ODBC Oracle Wire Protocol driver]TNS-12154: TNS:could not resolve the connect identifier specified]
    [Wed Oct  6 15:31:26 2010]Local/appx/Plan1/username/Info(1021014)
    ODBC Layer Error: Native Error code [0]
    [Wed Oct  6 15:31:26 2010]Local/appx/Plan1/username/Error(1021001)
    Failed to Establish Connection With SQL Database Server. See log for more information
    [Wed Oct  6 15:31:26 2010]Local/EXECDEV/Plan1/username/Warning(1080014)
    Transaction [ 0x6b0001( 0x4cacce8e.0xe4d2f ) ] aborted due to status [6].
    Any suggestions?
    Edited by: user12087276 on Oct 6, 2010 3:39 PM

    Have you followed the info here :- How to define a relational data source in (odbc.ini) V11 Essbase?
    You don't need to run Inst-SQL.sh
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Teradata SQL interface For Essbase

    Hi,
    Can anyone give me an idea on how exactly Teradata sql interface works while loading data in essbase cubes? Does it create any temporary storage while fetching the data from source system? How can we make the process faster other than using teradata parallel transporter and THREADSWRITE for essbase? And I think it's better to do the transformations in sql itself, rather than doing it in rule file.
    Thanks in advance!

    From what I understand EPM Fusion Edition 11.1.1 has optimized loading from Teradata I'm not sure, but it may take advantage of fast export. I believe it has to create a temporary table on Teradata(spool) to gather that data together to send to Essbase. I agree it is better to do the transformation in the SQL before getting it to Essbase, you have more flexibility to get things the way you want in SQL(more complex logic and transformations)

  • PL/SQL and Java Swing interface

    Everybody in this forum knows that Oracle is the best database around
    with many functionalities, stability, performance, etc. We also know
    that PL/SQL is a great language to manipulate information directly
    in the database with many built in functions, OOP capability,
    transaction control, among other features. Today an application that
    manipulates information, which needs user interface, requires components
    to be developed using different technologies and normally running in
    different servers or machines. For example, the interface is done using
    a dynamic HTML generator like JSP, PHP, PL/SQL Web Toolkit, etc.
    This page is executed in an application server like Oracle iAS or
    Tomcat, just to name two, which in turn access a database like Oracle to
    build the HTML. Also rich clients like Java applets require an intermediate
    server to access the database (through servlets for example) although
    it is possible to access the database directly but with security issues.
    Another problem with this is that complexity increases a lot, many
    technologies, skills and places to maintain code which leads to a greater
    failure probability. Also, an application is constantly evolving, new
    calculations are added, new tables, changed columns. If you have an
    application with product code for example and you need to increase its
    size, you need to change it in the database, search for all occurrences
    of it in the middle-tier code and perhaps adjust interfaces. Normally
    there is no direct dependency among the tier components. On another
    issue, many application interfaces today are based on HTML which doesn't
    have interactive capabilities like rich-client interfaces. Although it
    is possible to simulate many GUI widgets with JavaScript and DHTML, it is
    far from the interactive level we can accomplish in rich clients like
    Java Swing, Flash MX, Win32, etc. HTML is also a "tag-based" language
    originally created to publish documents so even small pages require
    many bytes to be transmitted, far beyond of what we see on the screen.
    Even in fast networks you have a delay time to wait the page to be
    loaded. Another issue, the database is in general the central location
    for all kinds of data. Most applications relies on it for security,
    transaction and availability. My proposal is to use Oracle as the
    central location for interface, processing and data. With this approach
    we can create not only the data manipulation procedures in the database,
    but procedures that also control and manage user interfaces. Having
    a Oracle database as the central location for all components has many
    advantages:
    - Unique point of maintenance, backup and restore
    - Integrated database security
    - One language for everything, PL/SQL or Java (even both if desired)
    - Inherited database cache, transaction and processing optimizations
    - Direct access to the database dictionary
    - Application runs on Oracle which has support for many platforms.
    - Transparent use of parallel processing, clusters and future
    background technologies
    Regarding the interface, I already created a Java applet renderer
    which receives instructions from the database on how to create GUI
    objects and how to respond to events. The applet is only 8kb and can
    render any Swing or AWT object/event. The communication is done
    through HTTP or HTTPS using Oracles's MOD_PLSQL included in the Apache
    HTTP server which comes with the database or application server (iAS).
    I am also creating a database framework and APIs in PL/SQL to
    create and manipulate the client interface. The applet startup is
    very fast because it is very small, you don't need to download large
    classes with the client interface. Execution is done "on-demand"
    according to instructions received from the database. The instructions
    are very optimized in terms of network bandwidth and based on preliminary
    tests it can be up to 1/10 of a similar HTML screen. Less network usage
    means faster response and means that even low speed connections will
    have a good performance (a future development can be to use this in
    wireless devices like PDAs e even cell phones, just an idea for now).
    The applet can also be executed standalone by using Java Web Start.
    With this approach no business code, except the interface, is executed
    on the client. This means that alterations in the application are
    dynamically reflected in the client, no need to "re-download" the
    application. Events are transmitted when required only so network
    usage is minimized. It is also possible to establish triggering
    events to further reduce network usage. Since the protocol used is
    HTTP (which is stateless), the database framework I am creating will
    be responsible to maintain the state of connections, variables, locks
    and session information, so the developer don't need to worry about it.
    The framework will have many layers, from communication up to
    application so there will be pre-built functions to handle queries,
    pagination, lock, mail, log, etc. The final objective is to have a
    rich client application integrated into the database with minimum
    programming and maintenance requirements, not forgetting customization
    capabilities. Below is a very small example of what can de done. A
    desktop with two windows, each window with two fields, a button with an
    image to switch the values, and events to convert the typed text when
    leaving the field or double-clicking it. The "leave" event also has an
    optimization to only be triggered when the text changes. I am still
    developing the framework and adjusting the renderer but I think that all
    technical barriers were transposed by now. The framework is still in
    the early stages, my guess is that only 5% is done so far. As a future
    development even an IDE can be created so we have a graphical environment
    do develop applications. I am willing to share this with the PL/SQL
    community and listen to ideas and comments.
    Example:
    create or replace procedure demo1 (
    jre_version in varchar2 := '1.4.2_01',
    debug_info in varchar2 := 'false',
    compress_buffer in varchar2 := 'false',
    optimize_buffer in varchar2 := 'true'
    ) as
    begin
    interface.initialize('demo1_init','JGR Demo 1',jre_version,debug_info,compress_buffer,optimize_buffer);
    end;
    create or replace procedure demo1_init as
    begin
    toolkit.initialize;
    toolkit.create_icon('icon',interface.global_root_url||'img/switch.gif');
    toolkit.create_internal_frame('frame1','Frame 1',50,50,300,136);
    toolkit.create_label('frame1label1','frame1',10,10,50,20,'Field 1');
    toolkit.create_label('frame1label2','frame1',10,40,50,20,'Field 2');
    toolkit.create_text_field('frame1field1','frame1',50,10,230,20,'Field 1','Field 1',focus_event=>true,mouse_event=>true);
    toolkit.create_text_field('frame1field2','frame1',50,40,230,20,'Field 2','Field 2',focus_event=>true,mouse_event=>true);
    toolkit.set_text_field_event('frame1field1',toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,'FIELD 1','false');
    toolkit.set_text_field_event('frame1field2',toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,'FIELD 2','false');
    toolkit.set_text_field_event('frame1field1',toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,'field 1','false');
    toolkit.set_text_field_event('frame1field2',toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,'field 2','false');
    toolkit.create_button('button1','frame1',10,70,100,25,'Switch','Switch the values of "Field 1" and "Field 2"','S','icon');
    toolkit.set_button_event('button1',toolkit.action_performed_event,'demo1_switch_fields(''frame1field1'',''frame1field2'')','frame1field1:'||toolkit.get_text_method||',frame1field2:'||toolkit.get_text_method);
    toolkit.create_internal_frame('frame2','Frame 2',100,100,300,136);
    toolkit.create_label('frame2label1','frame2',10,10,50,20,'Field 1');
    toolkit.create_label('frame2label2','frame2',10,40,50,20,'Field 2');
    toolkit.create_text_field('frame2field1','frame2',50,10,230,20,'Field 1','Field 1',focus_event=>true,mouse_event=>true);
    toolkit.create_text_field('frame2field2','frame2',50,40,230,20,'Field 2','Field 2',focus_event=>true,mouse_event=>true);
    toolkit.set_text_field_event('frame2field1',toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,'FIELD 1','false');
    toolkit.set_text_field_event('frame2field2',toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,'FIELD 2','false');
    toolkit.set_text_field_event('frame2field1',toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,'field 1','false');
    toolkit.set_text_field_event('frame2field2',toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,'field 2','false');
    toolkit.create_button('button2','frame2',10,70,100,25,'Switch','Switch the values of "Field 1" and "Field 2"','S','icon');
    toolkit.set_button_event('button2',toolkit.action_performed_event,'demo1_switch_fields(''frame2field1'',''frame2field2'')','frame2field1:'||toolkit.get_text_method||',frame2field2:'||toolkit.get_text_method);
    end;
    create or replace procedure demo1_set_upper as
    begin
    toolkit.set_string_method(interface.global_object_name,toolkit.set_text_method,upper(interface.array_event_value(1)));
    toolkit.set_text_field_event(interface.global_object_name,toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,upper(interface.array_event_value(1)),'false');
    end;
    create or replace procedure demo1_set_lower as
    begin
    toolkit.set_string_method(interface.global_object_name,toolkit.set_text_method,lower(interface.array_event_value(1)));
    toolkit.set_text_field_event(interface.global_object_name,toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,lower(interface.array_event_value(1)),'false');
    end;
    create or replace procedure demo1_switch_fields (
    field1 in varchar2,
    field2 in varchar2
    ) as
    begin
    toolkit.set_string_method(field1,toolkit.set_text_method,interface.array_event_value(2));
    toolkit.set_string_method(field2,toolkit.set_text_method,interface.array_event_value(1));
    toolkit.set_text_field_event(field1,toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,upper(interface.array_event_value(2)),'false');
    toolkit.set_text_field_event(field2,toolkit.focus_lost_event,'demo1_set_upper',toolkit.get_text_method,upper(interface.array_event_value(1)),'false');
    toolkit.set_text_field_event(field1,toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,lower(interface.array_event_value(2)),'false');
    toolkit.set_text_field_event(field2,toolkit.mouse_double_clicked_event,'demo1_set_lower',toolkit.get_text_method,lower(interface.array_event_value(1)),'false');
    end;

    Is it sound like Oracle Portal?
    But you want to save a layer 9iAS.
    Basically, that was the WebDB.(Oracle changed the name to Portal when version 3.0)
    Over all, I agree with you.
    &gt;&gt;Having a Oracle database as the central location for all components has many
    &gt;&gt;advantages:
    &gt;&gt;
    &gt;&gt;- Unique point of maintenance, backup and restore
    &gt;&gt;- Integrated database security
    &gt;&gt;- One language for everything, PL/SQL or Java (even both if desired)
    &gt;&gt;- Inherited database cache, transaction and processing optimizations
    &gt;&gt;- Direct access to the database dictionary
    &gt;&gt;- Application runs on Oracle which has support for many platforms.
    &gt;&gt;- Transparent use of parallel processing, clusters and future
    &gt;&gt;background technologies
    I would like to build 'ZOPE' inside Oracle DB as a back-end
    Using Flash MX as front-end.
    Thomas Ku.

Maybe you are looking for

  • Linksys Wireless Print server and my Mac G4

    I just set up my linksys wireless print server and it's printing from my PC just fine - not so on my G4. My printer is a Canon Pixma ip5200, and the appropriate drivers etc are installed. I know the IP address and have tried setting up the printer vi

  • Can't Sleep or Shut Down - Getting Worse

    I have a new MBP with WinXP Home installed on a separate partition created with Boot Camp 1.2. I use Windows to access a work system, otherwise, I am always in OS 10.4.9. Everything worked perfectly for about two weeks. Beginning about a week ago, I

  • How can i upgrade my macbook pro if i dont have credit card?

    every time i try to upgrade imovie from appstore it tells me that i have to sign in, when i do that it says to me that this account havent been used in itunes store so i cant upgrade it. i tried to download the last version of imovie and when i tried

  • Problems getting a TweenEffect to work in AS with a 'removedEffect'

    Anyone have any idea why this small application is throwing an error. Is this a bug, or am I doing something wrong? I am getting this in a much larger, and more complicated app that uses heavy ActionScript. I narrowed the problem code down to this sm

  • How to burn DVDs on an iBook Clamshell?

    Hello, I've got an 466MHz Clamshell with the built-in Apple combo drive that is not able to burn CDs and DVDs. So I was wondering how to modify or upgrade the iBook to make it burning such media. I found this: http://tinyurl.com/2nodg9 on eBay and as