Service object start-up

Hello. We'd like to be able to determine when a TOOL service object
starts up from within another TOOL service object. I understand the
problems with service object start up ordering, but I'll summarize
them here:
1. You can't reference a service object until it's up
2. You can't guarantee a service object to be up unless
a) it's a non-TOOL SO (DB Resource Manager or DB Session)
b) it's a TOOL SO in another partition which is numerically lower
than yours
According to Forte support, we should put our dependant service objects in
different partitions and use the numerical startup to get them going. For
example, if SO A depends on SO B, we need SO B in partition 1 and SO A in
partition 2. Also, if we have A depends on B and nobody else uses B, we
should probably use A as an umbrella for B.
But what if we don't want to do this? What if we don't want to take the
performance hit from the partitioning? What if we've got multiple
client-visible SOs that interact? We tried this scheme:
in A.Init():
super.Init()
start task Startup()
in A.Startup():
while B_SO = NIL do
task.part.operatingsystem.sleep(SPIN_TIME);
end while;
// now do stuff with B_SO
self.Ready = TRUE; // users can test this to see if A_SO is ready
The above works sporadically. According to support, that's because
testing the NIL reference isn't like testing for NIL on a normal object,
the name service is involved and that can screw things up.
Anybody have something that works? This seems to be a really stupid
feature of the system.
========================================================================
Neil Gendzwill, Senior Software Engineer, SED Systems, Saskatoon, Canada
E-MAIL: [email protected] PHONE: (306) 933-1571 FAX: (306) 933-1486
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Neil-
The reason your scheme fails occasionally (I'm pretty sure) is the
"start task" in the init method.. The only thing you are guaranteed by
partition order, etc, is that the "init" methods are executed (i.e. the
objects are instantiated) in the order you want. If you start
asynchronous tasks from within the init method, all bets are off as to
whether the spun-off asynchronous task will get done before the next
service object init() is called or even before the first client is
allowed to come on line.. All depends on the thread switching, which of
course cannot be predicted or counted on (hence the term "thread-safe
code").
I use something similar to the subsequent writer on the thread (Mark
Sundsten) except that service objects which need other objects (like
services requiring DB session brokers) go through a multi-step process
waiting for the broker to be up and truly ready for business:
Keep testing for a legal reference to the broker until it is non-NIL
and no exception
Post an "areyoualive" event on the broker with suitable
retry/error-handling until positive response
The broker, of course, does the start task startup() sort of thing in
its init method, the final step of which is to begin responding to
"areyoualive" events with the proper response.
The final trick is that no services on the service object work (they
block/wait) until the object has successfully started (including the
wait for the broker). This is to avoid client requests from being
processed before the service is ready.
With this technique, you can put service objects and their brokers
wherever you want to. I wish it was simpler, but when you enter the
world of multiple threads you need to carefully plan your startup
behavior and bullet-proof all code to be thread safe.
I've also seen techniques where the first actual service request
performs a startup if it hasn't been done already. Sort of the "lazy
instantiation" of service-object startups.. Problem is, of course, that
for the reason outlined above the first client can come alive and begin
asking for things from the services before asynchronous tasks started in
the init methods are done. If you go this direction, make sure you
understand this nuance and have no ansych startups occurring in init
methods.
Hope this helps.
-Greg
-----Original Message-----
From: Neil Gendzwill [SMTP:[email protected]]
Sent: Friday, June 19, 1998 12:48 PM
To: Users, Forte
Subject: Service object start-up
Hello. We'd like to be able to determine when a TOOL service
object
starts up from within another TOOL service object. I understand
the
problems with service object start up ordering, but I'll
summarize
them here:
1. You can't reference a service object until it's up
2. You can't guarantee a service object to be up unless
a) it's a non-TOOL SO (DB Resource Manager or DB Session)
b) it's a TOOL SO in another partition which is numerically
lower
than yours
According to Forte support, we should put our dependant service
objects in
different partitions and use the numerical startup to get them
going. For
example, if SO A depends on SO B, we need SO B in partition 1
and SO A in
partition 2. Also, if we have A depends on B and nobody else
uses B, we
should probably use A as an umbrella for B.
But what if we don't want to do this? What if we don't want to
take the
performance hit from the partitioning? What if we've got
multiple
client-visible SOs that interact? We tried this scheme:
in A.Init():
super.Init()
start task Startup()
in A.Startup():
while B_SO = NIL do
task.part.operatingsystem.sleep(SPIN_TIME);
end while;
// now do stuff with B_SO
self.Ready = TRUE; // users can test this to see if A_SO is
ready
The above works sporadically. According to support, that's
because
testing the NIL reference isn't like testing for NIL on a normal
object,
the name service is involved and that can screw things up.
Anybody have something that works? This seems to be a really
stupid
feature of the system.
========================================================================
Neil Gendzwill, Senior Software Engineer, SED Systems,
Saskatoon, Canada
E-MAIL: [email protected] PHONE: (306) 933-1571 FAX: (306)
933-1486
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Similar Messages

  • Service Object Init References

    Has anyone come up with a good work around to allow Service Objects to
    reference other service objects in their init methods or during application
    startup. Since we can't specify the order in which Service Objects start,
    is there a way we can execute some code once all Service Objects have come
    online?
    Will this idea work?
    Start a task in the init method that loops for the referenced service object
    to not be nil, then references the needed SO. For example:
    while true do
    if LogMgrSO = Nil then
    task.delay(100);
    else
    exit;
    end if;
    end while;
    Eric Rasmussen
    Project Manager
    Online Resources & Communications Corporation
    (703)394-5128
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    Sorry to answer so late ! I left (one year ago may be) some Tool code on
    the Mailing list on that subject.
    May be you have to consider some different cases :
    1&deg;) Is a Service started because it is only instanciated (<> NIL)?
    2&deg;) Forte insures that the first services to be started on a partition
    are DBsession and DBResource Managers.
    3&deg;) A local Service or a distributed service are not exactly treated the
    same way.
    4&deg;) The init() method has a specific way to run : the allocations are
    made at the end.
    1&deg;) When a Service is not NIL it is only that it is instanciated. So
    your initialization sequence is not endded may be or
    the service is not insured to be started properly. It should be
    important if you need to load a cache for instance. I
    would recommand to test that a service is ON (for DBsessions for
    instance) and to add (if possible) a state to determine
    that a service is properly started.
    2&deg;) This is only available if you are inside the same partition on the
    same machine. So if you have to synchronize with
    external ressources from the partition you will need to treat them like
    other services.
    3&deg;) A local Service will be NIL and then instanciated. The classname
    will be the same as in the workshop.
    A distrubuted service (exactly a service which is not on the same
    partition) will have a different classname (Classname+Proxy).
    So the external service proxy may be instanciated but the So May not,
    and you will get a DistributedAccessException.
    4&deg;) The init() method may not be the best location for a synchronization
    if you need to use an array for instance to
    store you dependencies. So I would use a start task on an InitService()
    method to avoid that problem.
    Options :
    - A dependency could be optionnal : after a certain amount of tries you
    can abort synchronization on the service.
    - You can use synchronization on "cold" and "hot" startup of services.
    - You can develop a service agent which cold have instruments to see
    dependencies and states, and commands to stop/start services.
    - The Delay you may play should be different for each service you are
    waiting for.
    - The order of dependencies should have an importance (first put
    mandatory dependancies, and then optional ones).
    - A Service is not only a Service Object, but could also be just a
    reference to an instance through a container for example.
    - Some kind of autoStart : should I start all my services at the
    beginning of my application or could I start some services
    at the first call ? This should be available if you use your own
    application protocole and if your services are inside some
    service managers for instance.
    Remarks :
    Thoses concepts have been tested on a Framework from R2 to R3 of Forte
    with success. With those, you can imagine
    starting the application without knowing if the database is running, the
    application will wait for the database
    to be mounted. An other advantage of the synchronization is that you
    will resolve the naming of the services at
    the begining of the application. Then, you can stop the environment
    manager and the application will still work
    (for the clients which were already started of course). You can also
    imagine transfering your partitions from one
    node to an other at run-time.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Stephen McHenry wrote:
    >
    At 11:04 AM 10/1/98 -0700, John Jamison wrote:
    begin
    while true do
    begin
    ..attempt "remote" SO reference..
    exit; // while true do loop
    exception
    when e:UsageException do // if in same partition and not yet
    initialized,
    // you get a NIL object exception
    task.errormgr.clear;
    when e:DistributedAccessException do (or RemoteAccessException)
    // if in a different partition, get this
    error
    task.errormgr.clear;
    end;
    event loop
    aTimer : Timer = new (tickInterval=5*1000); // 5 seconds -
    adjust to taste
    aTimer.isActive=true;
    when aTimer.Tick do
    aTimer.IsActive=false;
    exit;
    end event;
    end while;
    end;One of the problems I see with all of these "catch the exception and try
    again" schemes is that they fail to take into account that the SO you are
    calling may, in fact, never appear (due to some sort of problem, of course)
    and then you never exit this loop. It's a "liveness" problem with this
    approach. So, be sure to add some alternate way out after 1 minute (or
    whatever your particular threshold is) and raise an exception yourself.
    Always gotta think about what happens if something goes wrong... ;-)
    Stephen
    |===========================================================================
    ===|
    |Stephen McHenry | Design Consulting |Training courses
    offered: |
    |Advanced Software Tech | | -Distributed
    Obj-Oriented |
    |305 Vineyard Town Ctr #251| [email protected] | Analysis &
    Design |
    |Morgan Hill, CA 95037 | (408) 776-2720 x210 | -Intro to Object
    Technology|
    |USA | http://www.softi.com | -Advanced OO Design
    |
    |===========================================================================
    ===|
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

  • Remote Desktop Management service not starting. service-specific error: %%2284126209 - Event ID: 7024

    Hi Forum members,
    We have a client that has intermittent issues with RDS on a 2012 R2 server.
    As an overview of the environment, the client has a single VMWare host support 2 x Windows 2012 R2 VMs one is the File/Print/Email server and the 2nd is the RDS server used to allow the client to run MYOB Enterprise. Both servers have the AD DS role and
    DNS roles amongst others.
    The 1st issue is that the RD Connection Broker shows the error: "The server pool does not match the RD Connection Brokers that are in it. and then "1. Cannot connect to any of the specified RD Connection Broker servers".
    The above issue seems to be caused by the RDMS service not starting. When you attempt to start it, the service stops and the error in the title is logged in the "System" event log. Full transcript below:
    Log Name:      System
    Source:        Service Control Manager
    Date:          21/01/2015 4:50:32 PM
    Event ID:      7024
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      intentionally removed.local
    Description:
    The Remote Desktop Management service terminated with the following service-specific error: %%2284126209
    Event Xml:
    <Event xmlns="
      <System>
        <Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
        <EventID Qualifiers="49152">7024</EventID>
        <Version>0</Version>
        <Level>2</Level>
        <Task>0</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8080000000000000</Keywords>
        <TimeCreated SystemTime="2015-01-21T05:50:32.129949400Z" />
        <EventRecordID>53721</EventRecordID>
        <Correlation />
        <Execution ProcessID="568" ThreadID="12436" />
        <Channel>System</Channel>
        <Computer> intentionally removed.local</Computer>
        <Security />
      </System>
      <EventData>
        <Data Name="param1">Remote Desktop Management</Data>
        <Data Name="param2">%%2284126209</Data>
        <Binary>520044004D0053000000</Binary>
      </EventData>
    </Event>
    In addition in the "Application" event log, the following error is logged:
    Log Name:      Application
    Source:        MSSQL$MICROSOFT##WID
    Date:          21/01/2015 5:24:47 PM
    Event ID:      18456
    Task Category: Logon
    Level:         Information
    Keywords:      Classic,Audit Failure
    User:          NETWORK SERVICE
    Computer:      intentionally removed.local
    Description:
    Login failed for user 'NT AUTHORITY\NETWORK SERVICE'. Reason: Could not find a login matching the name provided. [CLIENT: <named pipe>]
    Event Xml:
    <Event xmlns="
      <System>
        <Provider Name="MSSQL$MICROSOFT##WID" />
        <EventID Qualifiers="49152">18456</EventID>
        <Level>0</Level>
        <Task>4</Task>
        <Keywords>0x90000000000000</Keywords>
        <TimeCreated SystemTime="2015-01-21T06:24:47.000000000Z" />
        <EventRecordID>4228336</EventRecordID>
        <Channel>Application</Channel>
        <Computer>intentionally removed.local</Computer>
        <Security UserID="S-1-5-20" />
      </System>
      <EventData>
        <Data>NT AUTHORITY\NETWORK SERVICE</Data>
        <Data> Reason: Could not find a login matching the name provided.</Data>
        <Data> [CLIENT: &lt;named pipe&gt;]</Data>
        <Binary>184800000E0000001F00000055004E0047004500520045005200410055005300530056005200300033005C004D004900430052004F0053004F0046005400230023005700490044000000070000006D00610073007400650072000000</Binary>
      </EventData>
    </Event>
    I have been attempting to resolve these errors for some time, without success. I have read the many KBs and forum entries related to the above and applied a number of the suggested fixes, including the one which suggests to add the NT SERVICE\ALL SERVICES
    to the "Logon as a Service" in the "User Rights Assignment" of the "Default Domain Policy" which is linked to the domain level, that both servers are objects of.
    My question to the forum is, can anyone come up with a solution to resolve the above issues and all the RDMS service to start which will then hopefully resolve the broker error?
    Regards,
    David West.

    Hi David,
    If virtual machines on the server are Windows Server 2012, then it is not supported to install Remote Desktop Connection Broker on a Domain Controller.
    More information for you:
    Remote Desktop Services role cannot co-exist with AD DS role on Windows Server 2012
    http://support.microsoft.com/kb/2799605/de
    Guidelines for installing the Remote Desktop Session Host role service on a computer running Windows Server 2012 without the Remote Desktop Connection Broker role service
    http://support.microsoft.com/kb/2833839
    If the VMs are Windows Server 2012 R2, I suggest you install RDS on a separate machine to see if the issue persists.
    Best Regards,
    Amy
    Please remember to mark the replies as answers if they help and un-mark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • Events in Service Objects

    Hi,
    Is it possible to have a service object checking permanently for events
    posted by other service objects? I have not been able to start this type of
    object.
    Thanks,
    Guillermo Turk
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    I have something this (please, some patience :-) ):
    //Example: handle event (the event is Beep)
    interface AlarmListener{
    void Beep(String hour); //declare a event handler
    //The class that "raise" an event Beep
    class Clock{
    AlarmListener theAlarmListener; //Referecne to an listener object
    //Register an listener object
    public addAlarmListener(AlarmListener theAlarmListener){
    this.theAlarmListener = theAlarmListener;
    private ringAlarm(){
    theAlarmListener.Beep("10:00 P.M."); //Raise Beep event
    class Guy implements AlarmListener{
    public Guy(){
    Clock clock = new Clock();
    clock.addAlarmListener(this);
    //Handle Beep event
    void Beep(String hour){
    System.out.println("Ohhh, its time of wake up!!!");
    //End
    But, in this model my source object have only an listener object.
    This can be improved by a array, like this:
    class Clock{
    AlarmListener[] theAlarmListener = new AlarmListener[10];
    private int i = 0;
    //Register an listener object
    public addAlarmListener(AlarmListener theAlarmListener){
    this.theAlarmListener[i++] = theAlarmListener;
    //More code...
    making to a side the limitation of size of an array (although this can be managed somehow if it is necessary), the problem begining to be more and more complex... i.e., it is necessary to create a method for unregister a listener...
    And, what about with multi-threads programs??? The addAlarmListener method should be synchronized or something??
    It should have an easier way!
    PD: I think that I have used the Delegate pattern in conjunction with some other pattern.
    PD: Forget my English. It is terrible
    Saludos

  • EPMA Windows Services not starting

    Before you all jump on me, I've read almost all of the threads and documentation concerning this issue that are out there. I've checked the databases and they are configured appropriately, I've checked the IPv6 settings and they are ok. this EPMA installation is on a windows server 2008 r2 platform, Planning and other components are installed in a LINUX environment. I've got everything just about working except for the Dimension Server. The service will not start:
    Log Name: Application
    Source: Hyperion EPMA DimensionServer
    Date: 8/23/2012 11:59:52 AM
    Event ID: 0
    Task Category: None
    Level: Error
    Keywords: Classic
    User: N/A
    Computer: my-server-name
    Description:
    Service cannot be started. Hyperion.DimensionServer.Interface.Exceptions.EPMAServiceException: Cannot initialize the Session Manager. ---> Hyperion.CommonServices.Exceptions.SessionManagerException: Session Manager could not start because database connectivity could not be established. ---> Oracle.DataAccess.Client.OracleException at Hyperion.DimensionServer.SessionManager.SessionManager.InitializeSqlConnectionString()
    --- End of inner exception stack trace ---
    at Hyperion.DimensionServer.SessionManager.SessionManager.InitializeSqlConnectionString()
    at Hyperion.DimensionServer.SessionManager.SessionManager.Initialize(String configFileName, Boolean restorePastInstanceSessions, Boolean enableCaching)
    --- End of inner exception stack trace ---
    at Hyperion.DimensionServer.Service.Main.InitializeSessionManager()
    at Hyperion.DimensionServer.Service.Main.Start()
    at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
    <Provider Name="Hyperion EPMA DimensionServer" />
    <EventID Qualifiers="0">0</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2012-08-23T15:59:52.000000000Z" />
    <EventRecordID>4404</EventRecordID>
    <Channel>Application</Channel>
    <Computer>my-server-name</Computer>
    <Security />
    </System>
    <EventData>
    <Data>Service cannot be started. Hyperion.DimensionServer.Interface.Exceptions.EPMAServiceException: Cannot initialize the Session Manager. ---&gt; Hyperion.CommonServices.Exceptions.SessionManagerException: Session Manager could not start because database connectivity could not be established. ---&gt; Oracle.DataAccess.Client.OracleException at Hyperion.DimensionServer.SessionManager.SessionManager.InitializeSqlConnectionString()
    --- End of inner exception stack trace ---
    at Hyperion.DimensionServer.SessionManager.SessionManager.InitializeSqlConnectionString()
    at Hyperion.DimensionServer.SessionManager.SessionManager.Initialize(String configFileName, Boolean restorePastInstanceSessions, Boolean enableCaching)
    --- End of inner exception stack trace ---
    at Hyperion.DimensionServer.Service.Main.InitializeSessionManager()
    at Hyperion.DimensionServer.Service.Main.Start()
    at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)</Data>
    </EventData>
    </Event>
    Dimension SErver log:
    [2012-08-23T11:58:06.501-04:00] [EPMADIM] [NOTIFICATION:32] [EPMADIM-1] [EPMADIM.Hyperion.NetJNIBridge.Process.Program] [tid: EPMA NetJNIBridge] [ecid: disabled,0] Binding to port: 5255
    [2012-08-23T11:58:06.657-04:00] [EPMADIM] [NOTIFICATION:32] [EPMADIM-1] [EPMADIM.Hyperion.DimensionServer.Utility.ChannelUtility] [tid: EPMA NetJNIBridge] [ecid: disabled,0] Detected pure IPv4 environment. Using default binding.
    [2012-08-23T11:59:52.176-04:00] [EPMADIM] [NOTIFICATION:32] [EPMADIM-1] [EPMADIM.Hyperion.DimensionServer.Global] [tid: EPMA Server Startup] [ecid: disabled,0] Dimension Server terminated.
    [2012-08-23T11:59:52.380-04:00] [EPMADIM] [INTERNAL_ERROR:32] [EPMADIM-1] [EPMADIM.Hyperion.CommonServices.Exceptions.BaseException] [tid: EPMA Server Startup] [ecid: disabled,0] SVR_ERR_PROCESSMGR_CANT_INIT_SESSIONMGR:Cannot initialize the Session Manager. at Hyperion.DimensionServer.Service.Main.InitializeSessionManager()
    at Hyperion.DimensionServer.Service.Main.Start()
    I don't know if this is relevant but here's a snippet from the shared services security log:
    [2012-08-23T11:41:18.958-04:00] [EPMCSS] [TRACE] [] [oracle.EPMCSS.CSS] [tid: 29] [ecid: 0000J_K7LfyComI_mp0FyZ1GD^h3000009,0] Duplicate Entry[[
    com.hyperion.css.dal.DALUniqueConstraintException: ORA-00001: unique constraint (EBASEADM.PK_PROV_INFO) violated
    at com.hyperion.css.dal.jdbc.oracle.OracleExceptionHandler.handle(OracleExceptionHandler.java:20)
    at com.hyperion.css.dal.jdbc.wrapper.CSSPreparedStatement.executeUpdate(CSSPreparedStatement.java:129)
    at com.hyperion.css.store.policy.PolicyStoreImpl.addRolesForEntry(PolicyStoreImpl.java:985)
    at com.hyperion.css.facade.impl.CSSUserProvisioningAPIImpl.setRolesList(CSSUserProvisioningAPIImpl.java:2352)
    at com.hyperion.css.facade.CSSUserProvisioningFacade.setRolesList(CSSUserProvisioningFacade.java:1059)
    at com.hyperion.interop.lib.helper.RegistryHelper.reRegisterApplication(RegistryHelper.java:646)
    at com.hyperion.interop.lib.helper.RegistrationHelper.register(RegistrationHelper.java:565)
    at com.hyperion.interop.lib.CMSClient.register(CMSClient.java:738)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:160)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
    at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
    at org.mozilla.javascript.gen.c66._c0(D:\Oracle\EPMSystem11R1\common\config\11.1.2.0\resources\repository\product\epmawebtier\58-register-instance-file.js:45)
    at org.mozilla.javascript.gen.c66.call(D:\Oracle\EPMSystem11R1\common\config\11.1.2.0\resources\repository\product\epmawebtier\58-register-instance-file.js)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003)
    at org.mozilla.javascript.gen.c66.call(D:\Oracle\EPMSystem11R1\common\config\11.1.2.0\resources\repository\product\epmawebtier\58-register-instance-file.js)
    at org.mozilla.javascript.gen.c66.exec(D:\Oracle\EPMSystem11R1\common\config\11.1.2.0\resources\repository\product\epmawebtier\58-register-instance-file.js)
    at org.mozilla.javascript.Context.evaluateReader(Context.java:1119)
    at com.hyperion.hit.tool.deploy.script.ProductDeployScriptRunner.runNextScript(ProductDeployScriptRunner.java:187)
    at com.hyperion.cis.config.DeploymentApiAdapter.deploy(DeploymentApiAdapter.java:118)
    at com.hyperion.config.wizard.impl.RunAllTasks.executeAppDeploymentTask(RunAllTasks.java:804)
    at com.hyperion.config.wizard.impl.RunAllTasks.execute(RunAllTasks.java:498)
    at com.hyperion.config.wizard.impl.RunnAllTasksState.run(RunnAllTasksState.java:90)
    at java.lang.Thread.run(Thread.java:619)
    Any insight as to what I can do here will be appreciated!

    You should take a look at the *"Database Installation"* part from the Installation Start here guide since if you are using Oracle Database to configure the EPMA components you need to install the Full Oracle Database Client since the PATH variable includes the path to the /bin folder for the Database client.
    Following is from the installation start here guide for EPM 11.1.2.2
    Install the full Oracle Database client on the following machines before you start your installation of EPM System products:
    Performance Management Architect Dimension server.
    Note:
    1. It is important to install the full database client as part of the installation because the PATH variable is updated to include the path to the /bin folder of the Oracle client.This setting is required for successful configuration.
    2. If you are using Oracle Database 10.2.0.4+, you must use a minimum of Oracle Database client 11.1.0.6.0.
    3. Performance Management Architect and Financial Management both require that a 64-bit Oracle Database client be installed.
    Thanks
    HyperEPM

  • Media Pack Service wont start

    Hello all,
    I am struggling with getting the streaming media service to start.  Fresh build of 2012 r2 after moving my existing content over to the appropriate pictures/music/videos folders that were created with the initial install.  I installed the
    Media Pack.  The install went fine, but the Essentials Media Streaming Service will not start.  Find the relevant logs below, I cant figure out why it refuses to start.  Looking for some troubleshooting ideas.
    MEDIASTREAMINGPROVIDER.LOG
    [12256] 140205.102101.4268: MediaStreamingProvider: Starting the Media Streaming Provider in service mode
    [13156] 140205.102101.4580: MediaStreamingProvider: ServiceShell.OnStart() starting
    [13156] 140205.102101.5049: StorageOM: StorageBacked created successfully.
    [13156] 140205.102101.5830: PfBinding: Information: [0] : Adding service dns identity [VADER] in proxy endpoint.
    [13156] 140205.102101.6612: StorageOM: Set connection identifier to 1
    [3832] 140205.102101.7549: StorageOM: Getting storage data from server
    [13156] 140205.102104.6299: MediaStreamingManager: IsMediaSharingEnabled called
    [13156] 140205.102104.6299: MediaStreamingManager: IsMediaSharingEnabled: CoCreateInstance returned with HResult 0x00000000.
    [13156] 140205.102104.6299: MediaStreamingManager: IsMediaSharingEnabled: get_computerHomeMediaSharingAllowedState returned with HResult 0x00000000.
    [13156] 140205.102135.1135: MediaStreamingManager: IsMediaSharingEnabled: put_computerHomeMediaSharingAllowedState returned with HResult 0x80070435.
    [12256] 140205.102135.1135: MediaStreamingProvider: Exiting the Media Streaming Provider
    MEDIASTREAMINGENABLER:
    at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
       at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
       at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
       at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
       at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
       at System.Management.Automation.PowerShell.CoreInvoke[TOutput](IEnumerable input, PSDataCollection`1 output, PSInvocationSettings settings)
       at Microsoft.Windows.ServerEssentials.MediaPack.MediaStreamingEnabler.Program.TryEnableMediaServer()
        ThreadId=1
        DateTime=2014-02-05T14:36:25.4730262Z
    Microsoft.Windows.ServerEssentials.MediaStreamingEnabler.exe Information: 0 : Trying to enable media feature (iteration#1)...
        ThreadId=1
        DateTime=2014-02-05T14:36:35.4884592Z
    Microsoft.Windows.ServerEssentials.MediaStreamingEnabler.exe Information: 0 : PS> Import-Module -Name:WssCmdlets -Cmdlet:Set-WssMediaServerEnabled
        ThreadId=1
        DateTime=2014-02-05T14:36:35.4884592Z
    Microsoft.Windows.ServerEssentials.MediaStreamingEnabler.exe Information: 0 : PS> Set-WssMediaServerEnabled -Enable:True
        ThreadId=1
        DateTime=2014-02-05T14:36:35.5821944Z
    Microsoft.Windows.ServerEssentials.MediaStreamingEnabler.exe Error: 0 : Failed to enable Windows Server Essentials media feature.
    System.Management.Automation.CmdletInvocationException: Connecting to the Media Streaming Provider timed out. ---> Microsoft.WindowsServerSolutions.MediaStreaming.MediaStreamingProviderNotAvailableException: Connecting to the Media Streaming Provider timed
    out. ---> System.TimeoutException: Timeout occurred waiting for connection to complete.  Connection attempt is still in progress.
       at Microsoft.WindowsServerSolutions.Common.ProviderFramework.internal.ConnectorInternals.TimeoutWait`1.ThreadWaitHolder.WaitForTimeout(TimeSpan duration, ProviderConnector`1 providerConnector)
       at Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProviderConnector`1.WaitForConnection(TimeSpan duration)
       at Microsoft.WindowsServerSolutions.MediaStreaming.ProxyManager.get_MediaStreamingProxy()
    EVENT LOG
    Service cannot be started. System.Runtime.InteropServices.COMException (0x80070435): No attempts to start the service have been made since the last boot. (Exception from HRESULT: 0x80070435)
       at Microsoft.WindowsServerSolutions.MediaStreaming.Log.CheckHResultAndThrow(String format, Int32 hr)
       at Microsoft.WindowsServerSolutions.MediaStreaming.WmpNssManager.IsMediaSharingEnabled()
       at Microsoft.WindowsServerSolutions.MediaStreaming.MediaStreamingProviderCore..ctor(IDlnaServerManager dsm, IServerLibraryManager slm, ISharedFolderManager sfm, IHdmiOutManager hom, IAssessmentManager am, ISqmManager sqm)
       at Microsoft.WindowsServerSolutions.MediaStreaming.MediaStreamingProviderCore..ctor()
       at Microsoft.WindowsServerSolutions.MediaStreaming.MediaStreamingProviderCore.GetInstance()
       at Microsoft.WindowsServerSolutions.MediaStreaming.ServiceShell.OnStart(String[] args)
       at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
    Patrick

    Hi,
    Regarding the current issue, please first make sure you have disabled the firewall on the machine. Then please check whether Windows Search service is running correctly. This issue may be caused
    by the Windows Search service is not running. Please set the Windows Search service to Automatic, and Essentials Media Streaming Service to "Automatic (Delayed)", and the service will auto-start within 10 minutes, after first boot/reboot, and you'll then see
    "Media" option in the Dashboard Settings.
    Hope this helps.
    Best Regards,
    Andy Qi
    Andy Qi
    TechNet Community Support

  • Load Balancing, User Visible Service objects, Runningman

    1. Load Balancing
    Load Balancing a partition has nothing to do with single or multi-threaded
    behaviour of that partition. If you load balance a partition it means that
    you can start 1 or more copies of that partition. How many to start can be
    specified. If the partition is load balanced there will be router partition
    that routes calls to any of the services in that partition.
    Now let us look at a special kind of partition (load balanced partition
    that has an Env visible SO and a user visible DbSession). This is one of
    the design patterns to acccess the database efficiently. Each of these
    partitions are single threaded because DbSession is inherently single
    threaded. This partition is single threaded because Dbsession is single
    threaded and not because the partition is replicated.
    Another case is when you make a partition load balanced and it has only
    SO(s) made out of tool classes and does not have Dbsessions then each of
    these partitions can run multi-threaded beacuse there are no
    single-threaded objects to make the partition single threaded
    2. User Visibility
    Case A - If you have only User visible SO(s) in a partition then each
    behaves like a global named object. Whoever accesses it will get a copy of
    their own.
    Case B - If you have a user visible SO and an Env Visible SO in the same
    partition then the user visible SO will be private to the partition and
    cannot be accessed from outside that partition.
    3. Running Man
    When you run an application by clicking on the running man Forte uses its
    default partitioning scheme and runs the application. The partition scheme
    that you made will be used only when you run the application distributed or
    from the partition workshop. This is the time you might encounter errors if
    your partitioning is not right.
    Hope this helps.
    Nirmal

    Don,
    You are right. I should have said - Forte uses its own partitioning scheme
    not the default scheme you see when you open partition workshop.
    Nirmal
    From: Don Nelson <[email protected]>
    To: Nirmal P Uppalapati <[email protected]>
    Cc: [email protected]
    Subject: Re: Load Balancing, User Visible Service objects, Running man
    Date: Wednesday, October 22, 1997 10:45 PM
    Nirmal,
    One note on the "running man"...
    At 08:12 PM 10/22/97 -0500, Nirmal P Uppalapati wrote:
    3. Running Man
    When you run an application by clicking on the running man Forte uses
    its
    default partitioning scheme and runs the application. The partitionscheme
    that you made will be used only when you run the application distributedor
    from the partition workshop. This is the time you might encounter errorsif
    your partitioning is not right.
    Actually, clicking on the "running man" from the repository or project
    workshop will cause the application to be run VERY differently thanrunning
    it distributed.
    It's not technically correct to say that the default partitioning schemeis
    used with the running man.
    Forte consulting offers a deployment workshop that covers the finerpoints
    of this and other distributed issues.
    Don
    ============================================
    Don Nelson
    Regional Consulting Manager - Rocky Mountain Region
    Forte Software, Inc.
    Denver, CO
    Corporate voice mail: 510-986-3810
    aka: [email protected]
    ============================================
    "If you ask me, though, any game without push-ups, hits, burns or noogies
    is a sissy game." - Calvin

  • Single transaction through multiple service objects [Spring]

    Hello.
    I have multiple service objects, while methods in service objects represent use cases.
    If I call the method from the other method in the same service object, then the second (called) method uses the same transaction as the first (caller), because of default propagation REQUIRED is applied.
    .. as is shown in the following pseudo code:
    @Transactional
    public class PersonService {
         private PersonDAO personDAO;
         public void otherMethod() {
         public void savePerson(Person person) {
              otherMethod();
              personDAO.save(person);
    }But I need to call service methods of different service objects, because some use cases use other use cases. I also need all those called methods to be done as a single transaction.
    @Transactional
    public class OrderService {
         private OrderDAO orderDAO;
         public void saveOrder(Person person, Order order) {
              PersonService personService = CONTEXT.getBean("personService");
              personService.savePerson(person);
              orderDAO.save(order);
    }If I do it like that, the new transaction proxy is created and all personService stuff is executed in the new transaction. How to configure @Transactional annotated objects or Spring beans to do all service stuff in single transaction?
    I have Hibernate sessionfactory, DAOs and services beans simply configured in Spring configuration XML, using autowiring and transaction annotation config. I prefer using @transactional annotated service classes, but if I had to use more complex Spring transaction configuration to achieve the goal I won't have any problem with it.
    Thank you in advance.

    I would like it to be done is single transaction but it isn't. As the bean is retrieved from the spring context in OrderService's method
    PersonService personService = CONTEXT.getBean("personService");a new transaction for PersonService is started. So then I have two transactions in progress - one for OrderService and second for PersonService. I need the PersonService (or any other service object) to detect already pending transaction and use that. Not create new (it's own). I use no arguments in @Transactional annotation so default propagation REQUIRED should be used, but it still creates a new transaction for PersonService stuff.
    I'm posting my applicationContext.xml (simplified slightly)
    <beans default-autowire="byType">
         <bean id="dataSource"
              class="org.springframework.jdbc.datasource.DriverManagerDataSource">
         </bean>
         <!-- Hibernate SessionFactory -->
         <bean id="sessionFactory"
              class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
              <property name="dataSource">
                   <ref local="dataSource" />
              </property>
         </bean>
         <bean id="hibernateTxManager"
              class="org.springframework.orm.hibernate3.HibernateTransactionManager">
              <property name="sessionFactory">
                   <ref local="sessionFactory" />
              </property>
         </bean>
         <tx:annotation-driven transaction-manager="hibernateTxManager" />
         <!-- DAOs -->
         <bean id="personDAO" class="net.package.dao.PersonDAO" />
         <bean id="orderDAO" class="net.package.dao.OrderDAO" />
         <!-- Services -->
         <bean id="personService" class="net.package.service.PersonService" />
         <bean id="orderService" class="net.package.service.OrderService" />
    </beans>Thank you

  • Re: Service Objects

    Hi Andrew...
    Service Objects, are, in essence, the central concept of any Forte
    application, so I think that every participant in this forum can
    probably offer some type of insight on using Forte Service Objects in
    their application :).
    Any type of shared application functionality is a candidate for
    inclusion in a service object. The definition given on page 156 of the
    Forte Programming Guide states that "[a] service object is a named
    object that represents an existing external resource, a Forte shared
    business service that is shared by multiple users, or a service that is
    replicated to provide failover or load-balancing. The service object
    contains information needed by the service as well as operations that
    the service can perform."
    Service objects are, imho, the most important concept for building a
    successful Forte application, and by far the least well understood. I
    suggest spending a good amount of time familiarizing yourself with the
    Service Object concept, and then understanding the Service Object
    properties (dialog duration, visibility, replication, search paths,
    etc.) so that you can build a scalable, robust, and fault-tolerant
    system to meet your user requirements. Forte is an incredibly powerful
    tool when you understand all of the possibilities you have, especially
    those related to Service Objects.
    In order to get a better understanding of Forte Service objects and how
    they relate to the design and development of your particular system, I
    highly suggest participating in the Forte Object-Oriented Analysis and
    Design (OOAD) course. You can get more information on the course and
    register on-line by visiting the Forte Education website:
    http://www.forte.com/Educate/index.htm. Additionally, you can take a
    look at the Forte manuals, especially Chapter 8 of the Forte Programming
    Guide and throughout the Guide to the Forte Workshops manual.
    To answer one of your other questions... You can pass references to
    objects from a service object back to a client in Forte (you can also,
    for that matter, pass copies of objects - it depends upon your needs).
    Again, to get a better understanding of these concepts, I suggest taking
    the Forte OOAD class.
    I hope this helps! Please let me know if you have any further questions
    - I'd be happy to help.
    -Katie
    Andrew Lowther wrote:
    >
    We are currently in the process of rearchitecting our software systems
    around Forte.
    Could anyone tell me what experiences they have had with building a
    system using Forte Service objects in a multi-tiered system?
    It seems to us that these are intended to be used as high-value
    facade-like interfaces which serve as an entry point to the underlying
    business object model. Is this correct?
    Can we pass a remote object reference back to a client for its
    subsequent use? If not, does this mean that we have to build a local,
    client-based object model to hold the data returned from the service
    object methods?
    Any other assistance you can give will be very much appreciated.
    Thanks
    Andrew Lowther--
    Katie Carty
    Senior Consultant
    Forte Software, Inc.
    http://www.forte.com
    4801 Woodway Drive, Suite 300E
    Houston, Texas 77056
    vmail: (510) 986-3802
    email: [email protected]
    **************************************************

    Andrew,
    We at Per-Se Technologies have developed an approach to alleviate many
    "pains" with using service objects. Some things you will soon discover is
    that although service objects provide fail-over, load balancing, etc., they
    also,
    1. Eat up valuable developer time because it takes time to repartition and
    start partitions in development mode. In development mode (i.e., running
    from the workshops), each developer gets their own copy of all partitions!
    2. Limit the use of compiled libraries due to service object references in
    TOOL code.
    3. Consume valuable server resources because each developer has their own
    copy of the partitions.
    We have several alternatives to address all of the above problems. I am
    currently working on converting a large application so that:
    1. All developers share a single set of service objects/partitions. Each
    developer doesn't have to wait while their copies of the partitions come
    up. Therefore, development time is more fully utilized and server
    resources are dramatically freed up.
    2. Service objects are completely decoupled from an application.
    Therefore, we can compile as much as possible.
    You asked some other questions as well: You should always isolate SO
    references as much as possible. We do this by using a facade. You can
    pass a remote obj. reference to a client for future use.
    Take care!
    Dustin Breese
    Supervising Technical Specialist
    Per-Se Technologies
    From: Andrew Lowther <[email protected]>
    Date: Tue, 24 Feb 1998 16:24:31 -0000
    Subject: Service Objects
    We are currently in the process of rearchitecting our software systems
    around Forte.
    Could anyone tell me what experiences they have had with building a
    system using Forte Service objects in a multi-tiered system?
    It seems to us that these are intended to be used as high-value
    facade-like interfaces which serve as an entry point to the underlying
    business object model. Is this correct?
    Can we pass a remote object reference back to a client for its
    subsequent use? If not, does this mean that we have to build a local,
    client-based object model to hold the data returned from the service
    object methods?
    Any other assistance you can give will be very much appreciated.
    Thanks
    Andrew Lowther

  • Window manager service object

    We use a user-visible service object to manage the positioning and
    cascading of our client windows, whether modal or not. Before each
    window performs an Open(), it registers it's reference and title
    with the SO. If there are other active windows of the same type,
    the title is modified to include a colon and count number, as in
    normal Windows applications. After the window performs the Close()
    method, it de-registers itself with the SO. Whilst open, the window
    can also call a method on the SO to cascade all active windows.
    (Every window has a Window\Cascade menu item for this purpose.)
    One of the reasons for using the SO to implement cascading, was to
    enable the user to cascade only the Forte application windows. If a
    non-Forte window gets in the way, you can use the Forte cascade to
    bring the Forte windows in front of it again !
    As an aside, the only windows that we have that are modal, are very
    small input windows that don't need much in the way of behaviour.
    As most of our windows are started using START TASKs, all windows
    need to keep references to child windows that they have
    instantiated, in order to perform orderly shutdowns, iconising and
    re-opening.
    Have fun !
    Justin Levis
    Hydro-Electric Commission
    Hobart, Tasmania
    Australia

    Please read the information posted @
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa969540%28v=vs.85%29.aspx
    Desktop Window Manager
    The desktop composition feature, introduced in Windows Vista, fundamentally changed the way applications display pixels on the screen.  When desktop composition is enabled, individual windows no longer draw directly to the screen or primary display
    device as they did in previous versions of Windows. Instead, their drawing is redirected to off-screen surfaces in video memory, which are then rendered into a desktop image and presented on the display.
    Desktop composition is performed by the Desktop Window Manager (DWM).  Through desktop composition, DWM enables visual effects on the desktop
    as well as various features such as glass window frames, 3-D window transition animations, Windows Flip and Windows Flip3D, and high resolution support.
    The Desktop Window Manager runs as a Windows service. It can be enabled and disabled through the Administrative Tools Control Panel item, under Services, as Desktop Window Manager Session Manager.
    Many of the DWM features can be controlled or accessed by an application through the DWM APIs.  The following documentation describes the features and requirements of the DWM APIs.
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”

  • Referencing Service Objects after FailOver

    I have a service object Manager1SO in partition1, that calls a Start method on
    another service object WorkerSO in partition3.
    Manager1SO then monitors WorkerSO by registering for the RemoteAccessEvent on
    WorkerSO.
    When partition2 is brought offline, Manager1SO catches the RemoteAccessEvent on
    WorkerSO successfully, and calls the Start method on WorkerSO again.
    This seems to work a few times in a single environment, but after a while the
    call to the Start method seems to hang.
    When I attempt this kind of processing on 2 connected environments using
    failover, the Manager1SO in partition1 in the environment on which WorkerSO
    failed from cannot reference WorkerSO at all (hangs).
    The Manager2SO in partition2 in the environment on which WorkerSO has failed
    over to, references it okay i.e. the Start method completes.
    If I restart Manager1SO, it then references WorkerSO in its environment rather
    than the environment it failed over to.
    I know this is very light on information, but any help would be appreciated.
    Regards,
    Moris Mihailidis
    Consulting & Technology Department
    CSC
    570 St. Kilda Road, Melbourne VIC 3004
    Ph: 61-3-95364675 Email: mmihailicsc.com.au

    I have a service object Manager1SO in partition1, that calls a Start method on
    another service object WorkerSO in partition3.
    Manager1SO then monitors WorkerSO by registering for the RemoteAccessEvent on
    WorkerSO.
    When partition2 is brought offline, Manager1SO catches the RemoteAccessEvent on
    WorkerSO successfully, and calls the Start method on WorkerSO again.
    This seems to work a few times in a single environment, but after a while the
    call to the Start method seems to hang.
    When I attempt this kind of processing on 2 connected environments using
    failover, the Manager1SO in partition1 in the environment on which WorkerSO
    failed from cannot reference WorkerSO at all (hangs).
    The Manager2SO in partition2 in the environment on which WorkerSO has failed
    over to, references it okay i.e. the Start method completes.
    If I restart Manager1SO, it then references WorkerSO in its environment rather
    than the environment it failed over to.
    I know this is very light on information, but any help would be appreciated.
    Regards,
    Moris Mihailidis
    Consulting & Technology Department
    CSC
    570 St. Kilda Road, Melbourne VIC 3004
    Ph: 61-3-95364675 Email: mmihailicsc.com.au

  • Re: (forte-users) Service Object

     

    what about subclassing it and putting the agent stuff in there
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail matthewmwriteme.com
    ----- Original Message -----
    From: Ramarao Pabbaraju <RPabbarajulmimsno.com>
    To: <kamranaminyahoo.com>
    Sent: Tuesday, February 29, 2000 9:02 AM
    Subject: (forte-users) Service Object
    Hi,
    We have a class X which we would like to use it for service object andalso
    to instantiate it locally to call some methods. We would like to have
    system agents for the service object, but not for objects instantiated
    locally. In other words, if the object is used for service object, only
    then we want the agents (customized) to be initialized. How do we find out
    whether it is service object in Init method self? Service objectproperties
    (like isAnchored) or attributes (given from ServiceObject
    properties/initial values window) are set only at the end of init method.
    One workaround we could think of is start a task at the end of init method
    and also delay the execution of method. Is there any clean way of doing
    this?
    Thanks in advance,
    Ramarao
    IonIdea
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Using Failover for DB Manager Service Objects

    Michelin Tire Corporation
    At Michelin, we are trying to implement a failover
    service object using Oracle 7.3 on RS6000 platform (AIX 4.1.4).
    We understand that we need to use HACMP (Clustering) and
    Oracle's parallel server. This way the DB Service objects
    on two different computer nodes can access the same database.
    Has anyone used this configuration? If so, have you had any problems?
    and how well does it work?
    We would appreciate any information on this subject.
    Thanks in advance,
    Thomas Sams

    Tommy Sams wrote:
    >
    Michelin Tire Corporation
    At Michelin, we are trying to implement a failover
    service object using Oracle 7.3 on RS6000 platform (AIX 4.1.4).
    We understand that we need to use HACMP (Clustering) and
    Oracle's parallel server. This way the DB Service objects
    on two different computer nodes can access the same database.
    Has anyone used this configuration? If so, have you had any problems?
    and how well does it work?
    We would appreciate any information on this subject.
    Thanks in advance,
    Thomas SamsAt CSI, we have planned to use HACMP with Forte' failover to provide a
    high availability architecture for one of our customer.
    There are a lot of stuff to consider, some related to hacmp
    configuration, some to forte' mechanisms.
    In particular we should use HACMP for managing RDBMS backup and Forte'
    capabilities to deal with partitions/envs/nodemgrs failover. We have not
    take into account Oracle's parallel server at the moment ( althought it
    could be a good solution ) because we don't really need to access oracle
    from 2 different nodes at the same time, but "just" to have a "realtime"
    dbms backup in case of primary server fault.
    The architecure we choosen is based on tre AIX server ( 1 application
    server, 1 main dbms server, 1 backup server ( oracle failover, envs
    failover).
    We have started testing it using forte 2.0.h, but we realized that a
    more complete functionality will be offered using 3.0 KEEP_ALIVE
    features. So I could give you more feedback in the near future.
    What type of solution have you in mind ?
    Regards
    Fabrizio Barbero
    Barbero Fabrizio
    CSI-PIEMONTE
    Cso Unione Sovietica 216
    10134 Torino ITALY
    tel: +39 11 3168515
    fax: +39 11 3168212
    e-mail: [email protected]

  • Loadbalancing a service object

    Hello,
    I tried to loadbalance a service object that has both methods and
    attributes. The first copy of the service object works fine. However, all
    the attributes of the second copy of the service object are nil when a
    client try to use this copy. How can I make those two copies exactly the
    same?
    I am new to Forte. Any input will be greatly appreciated.
    Menghua Xiao
    Regional Transportation District,
    Denver, Colorado, USA

    Menghua Xiao wrote:
    I tried to loadbalance a service object that has both methods and
    attributes. The first copy of the service object works fine. However, all
    the attributes of the second copy of the service object are nil when a
    client try to use this copy. How can I make those two copies exactly the
    same?Ummmmm ...
    How are you initializing these attributes? In your Init method? Do you need
    to refer to any other SOs to do it? Forte does not guarantee the order in
    which service objects are initialized. Referring to other SOs in the Init
    method may not work, or it may work well for a long time and then suddenly
    break when Forte decides to initialize things in a different order in
    response to an upgrade, or to some random change in the application, or for
    no known reason. If you're replicating, things could conceivably get even
    more complex, with different replicates being initialized at different
    times. And if one if the Init methods fails, Forte can't create the service
    object, and your entire application fails to start.
    Furthermore, Forte will tell you that attributes on a service object are a
    bad idea. It's possible that they tell you this because there are bugs
    around it that they're ashamed to tell you about (have you checked Forte's
    web page?). Even if there are no bugs, there are a BUNCH of traps you can
    fall into if you do this. The only time I consider it safe to have
    attributes on a replicated SO is if those attributes can be reliably
    maintained on that SO. This restricts it to:
    * Database connection objects, and other such things that don't need to be
    in synch.
    * Static data that NEVER, NEVER changes.
    The reason for these severe restrictions are that there are no reliable
    ways to keep the two SOs in synch.
    All that said, how can you get away with it? My religion says the best way
    is to turn your attributes into virtual attributes. The quick and dirty way
    to do this is:
    1. Rename the attribute from AttrName to PrivateAttrName, and MAKE IT
    PRIVATE.
    2. Write a GetAttrName method that returns the attribute. This method
    should check to see if the attribute is NIL, and if so load it. It ends
    with "Return PrivateAttrName;".
    3. Re-create AttrName as a virtual attribute, with "GetAttrName ()" (no
    semicolon) as its get expression.
    This approach gets the initialization of the attribute out of the Init
    method, and instead forces initialization on the first reference. Hopefully
    this solves all the problems. If it does not solve them, you ought at least
    to get a useful error message out of your service object this way. I hope.
    Good luck,
    Tom Wyant

  • Screen manager service object

    We use a user-visible service object to manage the positioning and
    cascading of our client windows, whether modal or not. Before each
    window performs an Open(), it registers it's reference and title
    with the SO. If there are other active windows of the same type,
    the title is modified to include a colon and count number, as in
    normal Windows applications. After the window performs the Close()
    method, it de-registers itself with the SO. Whilst open, the window
    can also call a method on the SO to cascade all active windows.
    (Every window has a Window\Cascade menu item for this purpose.)
    One of the reasons for using the SO to implement cascading, was to
    enable the user to cascade only the Forte application windows. If a
    non-Forte window gets in the way, you can use the Forte cascade to
    bring the Forte windows in front of it again !
    As an aside, the only windows that we have that are modal, are very
    small input windows that don't need much in the way of behaviour.
    As most of our windows are started using START TASKs, all windows
    need to keep references to child windows that they have
    instantiated, in order to perform orderly shutdowns, iconising and
    re-opening.
    Have fun !
    Justin Levis
    Hydro-Electric Commission
    Hobart, Tasmania
    Australia

    We use a user-visible service object to manage the positioning and
    cascading of our client windows, whether modal or not. Before each
    window performs an Open(), it registers it's reference and title
    with the SO. If there are other active windows of the same type,
    the title is modified to include a colon and count number, as in
    normal Windows applications. After the window performs the Close()
    method, it de-registers itself with the SO. Whilst open, the window
    can also call a method on the SO to cascade all active windows.
    (Every window has a Window\Cascade menu item for this purpose.)
    One of the reasons for using the SO to implement cascading, was to
    enable the user to cascade only the Forte application windows. If a
    non-Forte window gets in the way, you can use the Forte cascade to
    bring the Forte windows in front of it again !
    As an aside, the only windows that we have that are modal, are very
    small input windows that don't need much in the way of behaviour.
    As most of our windows are started using START TASKs, all windows
    need to keep references to child windows that they have
    instantiated, in order to perform orderly shutdowns, iconising and
    re-opening.
    Have fun !
    Justin Levis
    Hydro-Electric Commission
    Hobart, Tasmania
    Australia

Maybe you are looking for

  • CR 2008, missing parameter values in parameter list

    somehow this thread got posted in the  .NET SDK section, so re-posting here... When my users run the report, the list of values in the paramter list does not include all the possible values that exist in the view on SQL server. How can I get ALL the

  • Prompt option doesn't work

    Hi I have a 8703e and the DELETE ON: Prompt  option doesn't work. It show me only "delete/cancel" with out the option to choise from where i want to do that I have only one account email from a Lotus Notes Server 8 Any recommendation? thank you so mu

  • I cannot bring up a gallery, sent as an on-line, on another computer.  Ok on my computer

    I have up loaded a gallery of viedos and photos to my URL page, which I can bring up on my computer, but cannot be seen on another computer.  How do I upload a gallery to my photshop.com web page, which can be seen by people I send the URL?

  • ABAP commands are obsolete.

    Hi all, Currently my firm is doing the 4.6C to ECC6 upgrade, there's a few programs having obsolete errors and I'm tasked to correcting the coding of this certain program. Here is the coding and the errors i encounter: report YPU0014 line-size 360   

  • HOW TO ADD APPS BACK TO MY FINDER

    I deleted my APP icon from the Finder and don't know how to add it back to Finder, I can't access my application