New Posts New Posts RSS Feed: BOS Sample
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

BOS Sample

 Post Reply Post Reply
Author
namnl View Drop Down
Newbie
Newbie
Avatar

Joined: 20-Jul-2010
Posts: 6
Post Options Post Options   Quote namnl Quote  Post ReplyReply Direct Link To This Post Topic: BOS Sample
    Posted: 20-Jul-2010 at 11:45pm
Hi DevForce Support Team, i am new to DevForce BOS application. Please help me a sample of BOS application and how to access from Silverlight and WPF.
Thanks in advance.
Back to Top
davidklitzke View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 14-Jun-2007
Posts: 715
Post Options Post Options   Quote davidklitzke Quote  Post ReplyReply Direct Link To This Post Posted: 21-Jul-2010 at 4:55pm
We don't have a large collection of complex BOS applications.  That is not our goal.  Rather,we try to show you how to take any application and deploy it in a BOS environment.  Look in the Learning Resources for the material on Deployment. 
Back to Top
namnl View Drop Down
Newbie
Newbie
Avatar

Joined: 20-Jul-2010
Posts: 6
Post Options Post Options   Quote namnl Quote  Post ReplyReply Direct Link To This Post Posted: 21-Jul-2010 at 9:14pm
Understand what you mean. But when i tried to develop silverlight application and DevForce. I got problem with deployment.
I post my web.config,app.config and ServiceReferences.ClientConfig here. Please help me correct it. Thanks in advance.
web.config
<?xml version="1.0"?>
<configuration>
    <configSections>
        <section name="ideablade.configuration" type="IdeaBlade.Core.Configuration.IdeaBladeSection, IdeaBlade.Core"/>
    </configSections>
    <connectionStrings>
        <add name="sics_natoEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=.\sql2008;Initial Catalog=sics_nato;Persist Security Info=True;User ID=sa;pwd=DB4#06;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
    </connectionStrings>
    <ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
        <logging logFile="log\DebugLog.xml"/>
        <!-- Additional configuration can be added to override defaults.
         See the sample config files in the Learning Resources for more information.
    -->
    </ideablade.configuration>
    <system.serviceModel>
        <!-- Set this to true to allow use of ASP.NET security features. -->
        <serviceHostingEnvironment aspNetCompatibilityEnabled="false"/>
        <services>
            <!-- The default EntityService and EntityServer services.  -->
            <service name="EntityService">
                <!--- Endpoint for non-Silverlight clients -->
                <endpoint address="" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.EntityModel.IEntityServiceContract"/>
                <!--- Endpoint for Silverlight clients -->
                <endpoint address="sl" binding="customBinding" bindingConfiguration="customBinaryBindingSL" contract="IdeaBlade.EntityModel.IEntityServiceContract"/>
            </service>
            <service name="IdeaBlade.EntityModel.Server.EntityServer">
                <!--- Endpoint for non-Silverlight clients -->
                <endpoint address="" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.EntityModel.IEntityServerContract"/>
                <!--- Endpoint for Silverlight clients -->
                <endpoint address="sl" binding="customBinding" bindingConfiguration="customBinaryBindingSL" contract="IdeaBlade.EntityModel.IEntityServerContract"/>
            </service>
        </services>
        <bindings>
            <customBinding>
                <!-- Default binding for non-Silverlight clients - compressed binary format.  Quotas are at maximum values
        but can be reduced based on your needs.  -->
                <binding name="compressedBinaryBinding">
                    <gzipMessageEncoding>
                        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
                    </gzipMessageEncoding>
                    <httpTransport maxReceivedMessageSize="2147483647"/>
                </binding>
                <!-- Default binding for Silverlight clients - binary format. Quotas are at maximum values
        but can be reduced based on your needs.  -->
                <binding name="customBinaryBindingSL">
                    <binaryMessageEncoding>
                        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647"/>
                    </binaryMessageEncoding>
                    <httpsTransport maxReceivedMessageSize="2147483647"/>
                </binding>
            </customBinding>
        </bindings>
        <extensions>
            <!-- The gzipMessageEncoding binding element is used to provide compressed binary encoding.
       The IdeaBlade.Core assembly must be available in the bin folder.
     -->
            <bindingElementExtensions>
                <add name="gzipMessageEncoding" type="IdeaBlade.Core.Wcf.Extensions.GZipMessageEncodingElement, IdeaBlade.Core"/>
            </bindingElementExtensions>
        </extensions>
    </system.serviceModel>
    <system.web>
        <compilation debug="true" targetFramework="4.0"/>
    </system.web>
</configuration>


app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <ideablade.configuration version="6.00" xmlns="http://schemas.ideablade.com/2010/IdeaBladeConfig">
    <objectServer remoteBaseURL="http://localhost"
                  serverPort="9009"
                  serviceName="EntityService.svc/sl"
                  />
  </ideablade.configuration>
</configuration>


ServiceReferences.ClientConfig
<configuration>
  <system.serviceModel>
    <client>
      <endpoint name="EntityService"
                address="http://203.150.225.172:9009/EntityService.svc"
                binding="customBinding" bindingConfiguration="customBinaryBinding"
                contract="IdeaBlade.EntityModel.IEntityServiceContractAsync"
                />
      <endpoint name="EntityServer"
                address="http://203.150.225.172:9009/EntityServer.svc"
                binding="customBinding" bindingConfiguration="customBinaryBinding"
                contract="IdeaBlade.EntityModel.IEntityServerContractAsync"
                />
    </client>
    <bindings>
      <basicHttpBinding>
        <!-- Basic binding using http, text encoding, no security -->
        <binding name="basicBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />

        <!-- Basic binding for use with SSL - see this article for more information:
        http://timheuer.com/blog/archive/2008/10/14/calling-secure-services-with-silverlight-2-ssl-https.aspx
        -->
        <binding name="secureBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
          <security mode="Transport"/>
        </binding>
      </basicHttpBinding>

      <customBinding>
        <!-- Custom binding using http, binary encoding, no security -->
        <binding name="customBinaryBinding">
          <binaryMessageEncoding/>
          <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
        </binding>
      </customBinding>

    </bindings>
  </system.serviceModel>
</configuration>



Back to Top
ting View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 27-Mar-2009
Location: San Francisco
Posts: 427
Post Options Post Options   Quote ting Quote  Post ReplyReply Direct Link To This Post Posted: 22-Jul-2010 at 3:00pm
Hi, unless you're trying to do something fancy, you don't need the app.config or ServiceReferences.ClientConfig.
 
Try deploying a simple application that was created with the DevForce Silverlight Template.  It has all the correct settings that you need.  The server-side configuration is all set up, and you don't require any client-side configuration.
Back to Top
eniben View Drop Down
Newbie
Newbie
Avatar

Joined: 26-Sep-2007
Location: Nigeria
Posts: 16
Post Options Post Options   Quote eniben Quote  Post ReplyReply Direct Link To This Post Posted: 15-Aug-2010 at 12:15am
Hi,

I maintain an application that's sort of a shared infrastructure.  Three companies in the same group host their databases on the same server; the BOS filters connections to this via datasource extensions. 

Currently, we use DevForce 5.x and are planning to move to DevForce 6.x.  Are you saying these service configuration issues go away?  One new feature of .NET 4 is not having to have physical .svc files?

Back to Top
ting View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 27-Mar-2009
Location: San Francisco
Posts: 427
Post Options Post Options   Quote ting Quote  Post ReplyReply Direct Link To This Post Posted: 16-Aug-2010 at 7:25pm

In DevForce 2010, we make a call to RegisterVirtualPathProvider in the Global.asax to dynamically create the services, so you don't need the .svc files any more.  You would still have your database and database extensions defined in the <connectionStrings> section of the web.config though.

Back to Top
eniben View Drop Down
Newbie
Newbie
Avatar

Joined: 26-Sep-2007
Location: Nigeria
Posts: 16
Post Options Post Options   Quote eniben Quote  Post ReplyReply Direct Link To This Post Posted: 17-Aug-2010 at 3:48am
Hi again,

How about datasource keys?  Do we still get to define those?

Would you mind giving a sample of the key components of the app.config file will look like as well as the web.config file?

Say COA, COB, COC are the three companies in the group and EBODomainContext is the generated EntityManager Name and DataSourceKey (you encouraging uniformity in convention here, kind of cool though?).  What will the keys look like on either end?

Guess I am being lazy?
Back to Top
ting View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 27-Mar-2009
Location: San Francisco
Posts: 427
Post Options Post Options   Quote ting Quote  Post ReplyReply Direct Link To This Post Posted: 17-Aug-2010 at 3:14pm
Instead of defining the <edmKeys> in a separate (and redundant) element, you now just use the <connectionStrings> element created by the Entity Framework.  Your settings should look something like this:
 
  <connectionStrings>
    <add name="EBODomainContext_COA" connectionString="metadata=..." providerName="System.Data.EntityClient" />
    <add name="EBODomainContext_COB" connectionString="metadata=..." providerName="System.Data.EntityClient" />
    <add name="EBODomainContext_COC" connectionString="metadata=..." providerName="System.Data.EntityClient" />
  </connectionStrings>
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down