BizTalk Aggregration Pattern as a reusable Service!!!

Hello Team, 
I'm currently working on SOA pattern and would like to start with having BizTalk Aggregration pattern as a service so that any interface which needs to have batching
process can call this generic aggregation service and in return get the batch msg. 
Please refer to the image attached to get better clarity on my requirement. 
Any links or suggestions will be useful 
Thanks in Advace

Hi Manju,
You have to employ
Canonical Data Model along with aggregation for your requirement.
Create a canonical (detailed internal) schema which would act as single entity containing all the sub-sets data model of the external system. i.e.
you will have an internal schema which contains all the elements/nodes of the inbound schemas. So when you receive schema-A or schema-B, you would map these entire schema to canonical schema (you could do this mapping in port level) and in your BizTalk aggregation,
you will use canonical schema for aggregation. When you send aggregated message out, at the outbound port level you can map the aggregated canonical schema to the outbound specific schema.
This way you can make the BizTalk orchestration/process which aggregates the inbound message as common service since it details with canonical schema,
independent of the source or destination systems.
In the following article you will find reference about the
Canonical Data Model and aggregation pattern.
http://social.technet.microsoft.com/wiki/contents/articles/11862.biztalk-enterprise-integration-patterns.aspx
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Similar Messages

  • Several BizTalk applications consuming the same web service

    When consuming a web service in Biztalk i use the generated items feature, using the service endpoint address. This creates binding files and service schema files. When trying to deploy the web service artifacts to BizTalk Server, and the files
    already is deployed in an other Application, an error is raised. How do I solve the issue? What is best practice? A seperate BizTalk Application hosting the artifacts? Not good I suppose if the enterprise/customer has a limited lisence. A seperate "Proxy"
    hosted in a .dll file, developed in e.g. c#? Probably a better solution, but kind of annoying having a lot of those lying around. Any suggestions?
    By the way, I'm using BT 2009, if that matters.

    John,
    Avoid any situations of dynamic schema resolution, such as explicitly setting the document type
    in the XmlDisassembler
    Could you please explain some pitfalls for this ...i am doing this and wanted to know about it.
    Every time when i ran in to schema resolution issue i tend to use dynamic resolution instead of app reference.
    Thanks.

  • SAP JAM work pattern for SAP C4C Service ticket

    Can anybody familiar with the SAP JAM Work pattern for SAP Cloud for Customer Service tickets answer these questions?
    My client would like to use SAP JAM groups in Service tickets in the following way:
    C4C service agents raise service tickets which are then worked on by back-office departments (who don't have access to C4C but will collaborate on ticket resolution via SAP JAM)
    Back-office departments work on a high volume of tickets so having one JAM group per ticket is not practical. Instead we would like to have one JAM group per department
    Departmental JAM groups should be created in JAM independently from C4C
    Upon ticket creation in C4C, the service agent should be able to select the relevant departmental JAM group to collaborate and start a discussion topic
    The agent should be able to easily pick up any update/reply from the back office team on the topic he created
    Is the scenario above supported? In particular, how can one predefine/auto-select which JAM group is assigned to a service ticket?

    Can anybody familiar with the SAP JAM Work pattern for SAP Cloud for Customer Service tickets answer these questions?
    My client would like to use SAP JAM groups in Service tickets in the following way:
    C4C service agents raise service tickets which are then worked on by back-office departments (who don't have access to C4C but will collaborate on ticket resolution via SAP JAM)
    Back-office departments work on a high volume of tickets so having one JAM group per ticket is not practical. Instead we would like to have one JAM group per department
    Departmental JAM groups should be created in JAM independently from C4C
    Upon ticket creation in C4C, the service agent should be able to select the relevant departmental JAM group to collaborate and start a discussion topic
    The agent should be able to easily pick up any update/reply from the back office team on the topic he created
    Is the scenario above supported? In particular, how can one predefine/auto-select which JAM group is assigned to a service ticket?

  • BizTalk 2013 R2: SB-Messaging Windows Service Bus On Premise 1.1 (Not Windows Azure)

    Let me preface this by saying that I have been able to connect to the destination Service Bus Topics and Queue using traditional .NET methods (e.g. System.ServiceBus.Messaging namespace) and the applications using those components are running fine on the
    same local VM.  This uses the connection string that is provided from GET-SBAuthorizationRule.
    Development Environment:
    Windows Server 2012
    SQL Server 2014
    BizTalk 2013 R2
    Local VM that is not on the Domain (but can connect to computers on the network)
    I am trying to create a simple BizTalk 2013 R2 Messaging Solution that will use the SB-Messaging adapter features with Windows Service Bus On-Premise.  My solution is using a Static One-Way Send Port to send messages to an existing topic on with Windows
    Service Bus 1.1 using the SB-Messaging Adapter.  After using the programmatic approach, the configurations were not as intuitive, but I believe I am close to the resolution.  I have tried several combinations of key data but I am still not able to
    connect.  This seems like I am missing something small that is causing the problem but I am at a loss for the moment.  The error I receive is below:
    A message sent to adapter "SB-Messaging" on send port "SBSendPort" with URI "sb://<SERVERNAME>/NsServiceBus/collateraltopic" is suspended.
    Error details: System.UnauthorizedAccessException: The token provider was unable to provide a security token while accessing 'https://<SERVERNAME>:7355/WRAPv0.9/'. Token provider returned message: '<Error><Code>400</Code><Detail>Namespace cannot be resolved 'https://<SERVERNAME>:7355/WRAPv0.9/'.TrackingId:6bcd22e8-1741-41fc-a84c-9aa3f7146ab5_GUS2522512,TimeStamp:6/30/2014 8:35:35 PM</Detail></Error>'. ---> System.IdentityModel.Tokens.SecurityTokenException: The token provider was unable to provide a security token while accessing 'https://<SERVERNAME>:7355/WRAPv0.9/'. Token provider returned message: '<Error><Code>400</Code><Detail>Namespace cannot be resolved 'https://<SERVERNAME>:7355/WRAPv0.9/'.TrackingId:6bcd22e8-1741-41fc-a84c-9aa3f7146ab5_GUS2522512,TimeStamp:6/30/2014 8:35:35 PM</Detail></Error>'. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
    at Microsoft.ServiceBus.TokenProviderHelper.TokenRequestAsyncResult.<GetAsyncSteps>b__8(TokenRequestAsyncResult thisPtr, IAsyncResult r)
    at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.EnumerateSteps(CurrentThreadType state)
    --- End of inner exception stack trace ---
    Server stack trace:
    Exception rethrown at [0]:
    at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
    at Microsoft.ServiceBus.TokenProviderUtility.GetMessagingToken(TokenProvider tokenProvider, Uri baseAddress, String appliesTo, String action, Boolean bypassCache, TimeSpan timeout)
    --- End of inner exception stack trace ---
    Server stack trace:
    at Microsoft.ServiceBus.TokenProviderUtility.GetMessagingToken(TokenProvider tokenProvider, Uri baseAddress, String appliesTo, String action, Boolean bypassCache, TimeSpan timeout)
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageCreator.GetAuthorizationToken(String appliesTo, String action)
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageCreator.GetAuthorizationHeader(String action)
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageCreator.CreateWcfMessageInternal(String action, Object body, Boolean includeToken, String parentLinkId, RetryPolicy policy, TrackingContext trackingContext)
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.GetOverheadSize()
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender..ctor(String path, SbmpMessagingFactory messagingFactory, SbmpMessageCreator messageCreator, RetryPolicy retryPolicy)
    at Microsoft.ServiceBus.Messaging.Sbmp.CreateSenderLinkSettings..ctor(SbmpMessagingFactory messagingFactory, String entityName, Nullable`1 entityType, String transferDestinationEntityName, RetryPolicy retryolicy)
    at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessagingFactory.OnBeginCreateMessageSender(String transferDestinationEntityName, String viaEntityName, TimeSpan timeout, AsyncCallback callback, Object state)
    at Microsoft.ServiceBus.Messaging.MessagingFactory.CreateMessageSenderAsyncResult.<GetAsyncSteps>b__52(CreateMessageSenderAsyncResult thisPtr, TimeSpan t, AsyncCallback c, Object s)
    at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.EnumerateSteps(CurrentThreadType state)
    at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.Start()
    Exception rethrown at [0]:
    at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
    at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.<>c__DisplayClass4`1.<Begin>b__3(IAsyncResult r, T& output)
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.OpenOnceManagerAsyncResult`1.OperationComplete(IAsyncResult result)
    at Microsoft.ServiceBus.Common.AsyncResult.SyncContinue(IAsyncResult result)
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.OpenOnceManagerAsyncResult`1.BeginOperation()
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.OpenOnceManagerAsyncResult`1.OpenComplete(IAsyncResult result)
    at Microsoft.ServiceBus.Common.AsyncResult.SyncContinue(IAsyncResult result)
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.OpenOnceManagerAsyncResult`1..ctor(OpenOnceManager openOnceManager, TimeSpan openTimeout, AsyncCallback callback, Object state, Func`3 beginOperation, EndOperation`1 endOperation)
    at Microsoft.ServiceBus.Messaging.OpenOnceManager.Begin[T](AsyncCallback callback, Object state, Func`3 beginOperation, Func`2 endOperation)
    at Microsoft.ServiceBus.Messaging.MessagingFactory.BeginCreateMessageSender(String transferDestinationEntityPath, String viaEntityPath, Boolean tryPairSender, TimeSpan timeout, AsyncCallback callback, Object state)
    at Microsoft.ServiceBus.Messaging.Channels.ServiceBusOutputChannel.OpenMessagingFactoryAndMessageSenderAsyncResult.CreateFactoryComplete(IAsyncResult result)
    at Microsoft.ServiceBus.Common.AsyncResult.SyncContinue(IAsyncResult result)
    at Microsoft.ServiceBus.Messaging.Channels.ServiceBusOutputChannel.OpenMessagingFactoryAndMessageSenderAsyncResult..ctor(ServiceBusOutputChannel outputChannel, TimeSpan timeout, AsyncCallback callback, Object state)
    at Microsoft.ServiceBus.Messaging.Channels.ServiceBusOutputChannel.OnOpen(TimeSpan timeout)
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
    at System.ServiceModel.Channels.CommunicationObject.Open()
    at Microsoft.BizTalk.Adapter.SBMessaging.SBMessagingOutputChannelFactory.OnCreateChannel(EndpointAddress address, Uri via)
    at System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
    at System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
    at System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverOutput.CreateInnerChannelBinder(EndpointAddress to, Uri via)
    at System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
    at System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
    at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
    at System.ServiceModel.ChannelFactory`1.CreateChannel()
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory`1& cachedFactory)
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)
    MessageId: {28428716-88C2-437B-953F-D471DA00C5A6}
    InstanceID: {18C48B89-D9C0-47A8-ADF0-0CA62746FBB1}
    Below are my Send Port Adapter Configurations:
    URI is blacked out
    /Namespace/Topic/ are next in the path
    Can someone confirm that the Issuer Name is the Namespace and the Issuer Key is the Primary Key from the get-SBAuthorizationRule?  I also tried Shared Access Signature (SAS) but that service was connecting to a default port and do not believe that is
    how I need to connect.
    Also, there is nothing on the Properties Tab as I do not have anything custom for the initial step.
    Any and all help is appreciated.

    Glenn,
    Thank you very much for the response, I will go down this route in further detail.  A couple of quick questions for you to help further my understanding.
    Where is the SAS limitation documented?  I am sure I glossed over it and it did not register, but your help in where to look next time will be helpful.
    Also, can I change the default Port for which it is listening on the BizTalk Server or the Service Bus Location?  The connection string I get from get-SBAuthorization Rule is as follows:
    Endpoint=sb://{ServiceBusLocation}/NsServiceBus;StsEndpoint=https://{ServiceBusLocation}:7355/NsServiceBus;RuntimePort=7354;ManagementPort=7355;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey={KeyValue}
    The exception I get is:
    A message sent to adapter "SB-Messaging" on send port "SBSendPort" with URI "sb://<ServiceBusLocation>/NsServiceBus/collateraltopic" is suspended.
    Error details: System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://<ServiceBusLocation>:9354/. The connection attempt lasted for a time span of 00:00:04.0250873. TCP error code 10061: No connection could be made because the target machine actively refused it <IPAddress>:9354. ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it
    at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
    at System.ServiceModel.Channels.SocketConnectionInitiator.ConnectAsyncResult.OnConnect(IAsyncResult result)
    --- End of inner exception stack trace ---
    It looks like it is going to 9354 for the authentication when the Service Bus is configured for
    7355.  I believe I have opened the ports on both ends but do not think it will matter since it looks like it is sending the
    request to a different location.
    Thank you

  • Biztalk send to WCF-service that is behind a NLB

    A while ago a WCF-service that biztalk 2006 r2 sends to was put behind a NLB.
    I find that since than I sometimes get timeouts although biztalk was able to reach the service.
    Also in my new test-environment using Bts2013 r2 I find that I sometimes get following response back (although the request was handled ok by the service)
    I've been told that this is caused by the load-balancer...any ideas on how to solve this/what could be causing this
    A message sent to adapter "WCF-Custom" on send port "aa" with URI "https://test.svc" is suspended.
    Error details: System.ServiceModel.CommunicationException: An error occurred while receiving the HTTP response to
    https://test.svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server
    logs for more details. ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed
    by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
       at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
       at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
       --- End of inner exception stack trace ---
       at System.Net.Security._SslStream.EndRead(IAsyncResult asyncResult)
       at System.Net.TlsStream.EndRead(IAsyncResult asyncResult)
       at System.Net.PooledStream.EndRead(IAsyncResult asyncResult)
       at System.Net.Connection.ReadCallback(IAsyncResult asyncResult)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
       --- End of inner exception stack trace ---
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)
    Kind regards Isabelledc

    actually this is the exception I catch in my console-app (soap-fault)
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:encodingStyle="<SOAP:Body><SOAP:Fault><faultcode>Microsoft">http://schemas.xmlsoap.org/soap/encoding/"><SOAP:Body><SOAP:Fault><faultcode>Microsoft
    BizTalk Server Negative Acknowledgment </faultcode><faultstring>An error occurred while processing the message, refer to the details section for more information </faultstring><faultactor>https://IntegrationServices.svc</faultactor><detail><ns0:NACK
    Type="NACK" xmlns:ns0="<NAckID>{899D3BE7-A92A-49D2-8785-4394B35E5D19}</NAckID><ErrorCode>0xc0c0167a</ErrorCode><ErrorCategory>0</ErrorCategory><ErrorDescription>System.ServiceModel.CommunicationException">http://schema.microsoft.com/BizTalk/2003/NACKMessage.xsd"><NAckID>{899D3BE7-A92A-49D2-8785-4394B35E5D19}</NAckID><ErrorCode>0xc0c0167a</ErrorCode><ErrorCategory>0</ErrorCategory><ErrorDescription>System.ServiceModel.CommunicationException:
    The underlying connection was closed: A connection that was expected to be kept alive was closed by the server. ---&gt; System.Net.WebException: The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
    ---&gt; System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---&gt; System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
       at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
       at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)
       --- End of inner exception stack trace ---
       at System.Net.Security._SslStream.EndRead(IAsyncResult asyncResult)
       at System.Net.TlsStream.EndRead(IAsyncResult asyncResult)
       at System.Net.PooledStream.EndRead(IAsyncResult asyncResult)
       at System.Net.Connection.ReadCallback(IAsyncResult asyncResult)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
       --- End of inner exception stack trace ---
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&amp; msgData, Int32 type)
       at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)</ErrorDescription></ns0:NACK></detail></SOAP:Fault></SOAP:Body></SOAP:Envelope>
    Kind regards Isabelledc

  • Getting Server Error Code: -2147024891 when using Biztalk Windows SharePoint Services Adapter to upload a document

    We are currently running
    1. BizTalk Server 2013 R2
    2. SharePoint 2013
    both in a Windows 2012 Server environment, in Azure.   The BizTalk and SharePoint are running on separate machines.
    I am using the Windows SharePoint Adapter to upload a Tif file to a SharePoint document library.  However, when the host instance is running under my team member's userid, I get the following error in the eventlog:
    The adapter failed to transmit message going to send port "SendOwnershipToSharePoint" with URL "wss://bp1amsapt218:34392/sites/BiztalkSc/Lists/Ownership". It will be retransmitted after the retry interval specified for this Send Port.
    Details:"[Microsoft.SharePoint.Client.ServerUnauthorizedAccessException] Access denied. You do not have permission to perform this action or access this resource. Server Error Code: -2147024891Trace:    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream
    responseStream)
       at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
       at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
       at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
       at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
       at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
       at Microsoft.SharePoint.Client.Web.WebUrlFromPageUrlDirect(ClientContext context, Uri pageFullUrl)
       at Microsoft.BizTalk.KwTpm.WssAdapter.ClientOmAccessor.RequestInfo..ctor(String siteUrl, String sharePointOnlineUsername, String sharePointOnlinePassword)
       at Microsoft.BizTalk.KwTpm.WssAdapter.ClientOmAccessor.ListsAccessor..ctor(String siteUrl, String sharePointOnlineUsername, String sharePointOnlinePassword)
       at Microsoft.BizTalk.KwTpm.WssAdapter.ClientOmAccessor.ListsAccessor.TryOpenWebSite(String siteUrl, String sharePointOnlineUsername, String sharePointOnlinePassword, Exception& lastError)
    This error was triggered by the Windows SharePoint Services receive location or send port with URI wss://bp1amsapt218:34392/sites/BiztalkSc/Lists/Ownership.
    Windows SharePoint Services adapter event ID: 12310".
    This userid has already been added to the following groups on the BizTalk Server:
    Local Administrators Group
    BizTalk Server Administrators
    SSO Administrators
    BizTalk Isolated Host Users
    BizTalk Application Users
    I have also made sure the userid has full control access to the SharePoint site and the document library within the site.   I have confirmed that the user with this userid is able to access the SharePoint site and can upload documents to the
    document library, manually.   However,  when the host instance is running under this userid, I am not able to upload documents to the SharePoint document library.
    The Windows SharePoint Services Adapter is configured with the following values:
    Adapter Web Service Port:   34392
    Timeout:   100000
    Use Client OM: Yes
    Destination Folder URL:  Lists/Ownership
    FileName:  test.tif
    Overwrite:  Yes
    SharePoint Site URL: 
    http://bp1amsapt218:34392/sites/BiztalkSc/
    Microsoft Office Integration:  No
    Do you know what the cause for this error is?   We urgently need a resolution for this?

    If you create an XML document and upload it to the Windows SharePoint Services Web site. The Windows SharePoint Services adapter will take that message, archive it in the Archive document library, and then send it to the Destination document library. This
    procedure demonstrates how a document flows from a Sharepoint web site, through BizTalk Server, and to a Sharepoint Services Web site using the Windows Sharepoint Services adapter.
    This MSDN library article shows the procedure, please check whether it will be helpful to troubleshoot.
    Create a working directory
    Create an XML file
    Upload the XML file
    See: https://msdn.microsoft.com/en-us/library/aa560513.aspx

  • Service Locator Pattern

    I have a question about the Service Locator Pattern. If The service locator caches the EJBHome references in a Hashmap and retreives them though a method, does that method need to be synchronized for Thread Safety?
    If it has to be synchronized, doesnt it introduce performance bottle neck by letting only 1 thread access the method at any time?
    Please see code snippet below...
    Thanks,
    Krish
    public static synchronized EJBHome getHome(Class homeClass) throws NamingExeption {
    EJBHome home = (EJBHome) this.homes.get(homeClass);
    if(home == null) {
    ctx = getInitialContext();
    home = (EJBHome) PortableRemoteObject.narrow(ctx.lookup(homeClass.getName()),homeClass);
    this.homes.put(homeClass,home);
    return home;
    }

    Hi,
    Take a look at the below thread on server side which discusses this issue in details.
    http://www.theserverside.com/discussions/thread.tss?thread_id=14992
    Anil

  • BizTalk TechNet Gurus Announced for June 2014!

    The Results are in! and the winners of the TechNet Guru Competition June 2014 have been posted on the
    Wiki Ninjas Blog.
    Below is a summary, heavily trimmed to fit the size restrictions of forum posting.
     BizTalk Technical Guru - June 2014  
    Steef-Jan Wiggers
    BizTalk Server: Custom Archiving
    TGN: "This one was my favorite this month. Archiving is a topic that is brought up often. Well done explaining it simply and how to do it according to best practice"
    Sandro Pereira: "Love the topic, well explain and with everything you need, my favorite."
    Mandi Ohlinger: "Another great addition to the Wiki. "
    boatseller
    BizTalk: Reducing and Consolidating WCF Serialization Schema Types
    TGN: "Very good, keeping the code clean, and only referencing what you need and consolidate it is important!"
    Mandi Ohlinger: "Great solution to somewhat-annoying behavior. Nice addition to the Wiki!"
    Sandro Pereira: "Great article."
    Murugesan Mari Chettiar
    How to Implement Concurrent FIFO Solution in BizTalk Server
    Ed Price: "Incredibly thorough in your explanations! Great formatting. Good job!"
    TGN: "First in, first out. Great article Murugesan!"
    Sandro Pereira: "Good additional to the TechNet Wiki, good work."
     Forefront Identity Manager Technical Guru - June 2014  
    Remi Vandemir
    Custom Reports in FIM2010R2
    AM: "Great step-by-step guide for generating custom reports. Thanks for taking the time to put this together."
    PG: "Nice article, in an area that is less known!"
    Søren Granfeldt: "Very comprehensive."
    Ed Price: "Great job on the intro, and a lot of images really help clarify all the steps!"
    GO: "Thank you "
    Eihab Isaac
    FIM 2010 R2: Review pending export changes to Active Directory using XSLT
    Ed Price: "Great introduction, great steps, and great job on the image and code formatting!"
    GO: "An introduction, a sample code, images, a TOC and a conclusion. Nothing here to preserve the GOLD medal!"
    PG: "Nice article!"
    Søren Granfeldt: "Nice and precise"
    Scott Eastin
    A Practical Alternative to the PeopleSoft
    AM: "Thank you for sharing. Great (and probably superior) alternative for those using PeopleSoft as import-only data source."
    GO: "Amazing article, love it so much"
    PG: "Would like to see more elaborated details in this article."
    Søren Granfeldt: "A little more technical stuff would be nice"
    Ed Price: "Some good community collaboration in removing blog-like personalization. This is a great topic with some good holistic thinking!"
     Microsoft Azure Technical Guru - June 2014  
    Mr X
    Configuration of WATM (Windows Azure Traffic Manager) for Web Portals hosted
    on Azure VMs
    JH: "Two simple words: Love it! The detailed explanation on how Traffic Manager works is awesome."
    Ed Price: "Wow! Incredibly well written, with beautiful diagrams and a great use of images and tables! Great topic!"
    GO: "This is a great article! Thanks Mr.X"
    Mr X
    How to use Windows Azure as Traffic Manager for Web portals
    hosted in multiple on-premise datacenters
    JH: "Very detailed! Great explanation at the beginning followed by a good step-by-step guide."
    Ed Price: "A much needed article! Great job on the formatting and images!"
    GO: "Thanks again, MR.X"
    Mr X
    How to connect Orchestrator to Windows Azure
    GO: "I really enjoyed reading this article, clever and well written. Lovely done!"
    JH: "Great article! I especially love the amount of pictures provided in the article."
    Ed Price: "Good procedural article! Great use of images!"
     Microsoft Visio Technical Guru - June 2014  
    Mr X
    How to open Visio files without Visio
    AH: "This Article is pretty basic and lacks details. Visio Viewer doesn't just open in IE but also in Outlook and File explorer. The writer should include the link to http://blogs.office.com/2012/11/28/download-the-free-microsoft-visio-viewer/
    this blog which has lot more details "
    Ed Price: "Good. I think the SEO on the title will drive more awareness of the Visio Viewer."
    GO: "Thanks you Mr.X! Again a great article!"
     Miscellaneous Technical Guru - June 2014  
    Ed Price - MSFT
    Yammer: Announcements Feature
    TGN: "Wow, not only is this a good way on how to write annoncments on Yammer, but in generel. Really, really great write-up Ed! T"
    GO: "Tord says on the comment section: "Very nice article, Ed. I really enjoyed reading it and you had a great set of tips. Thanks for sharing!".. I only can respond AMEN! Thanks Ed!"
    Margriet Bruggeman: "Good discussion of announcements feature."
    Anthony Caragol
    Backing Up and Restoring Lync 2013 Contacts
    Margriet Bruggeman: "Short & Sweet"
    GO: "Great article, but I'm missing, examples, images, definitions etc for a huge section like "backup and restore""
    TGN: "Very good, Lync has eaten up the market and is a key product in most companies, articles like this is very valuable. Great work Anthony!"
     SharePoint 2010 / 2013 Technical Guru - June 2014  
    Geetanjali Arora
    SharePoint Online : Working with People Search and User Profiles
    Benoît Jester: "A very good article, a must-read for those interested by SharePoint Online and the use of search and user profile API."
    Jinchun Chen: "Excellent. Just a tip, if you would like to improve the performance, please use the Search Service to search user profiles"
    Craig Lussier: "Good walkthrough and code example for getting started with People Search!"
    Margriet Bruggeman: "Good starter for working with search and profiles"
    Jaydeep Mungalpara
    Creating Bookmarks in Wiki Pages - SharePoint Rich Text Editor Extension
    Margriet Bruggeman: "Really cool! In the past, I was actually looking for this and its a nice implementation of this functionality. This article gets my vote!"
    Craig Lussier: "Great solution for extending out of the box functionality. I like the synergy between the TechNet Wiki and TechNet Gallery!"
    GO: "Simple but powerfull. We should all take an example about how this article has been written. This article has a TOC, headings and even a code! Well done!"
    Jinchun Chen: "Nice. "
    Benoît Jester: "A simple button which can save a lot of time!"
    Dan Christian
    PowerShell to copy or update list items across SharePoint sites and farms
    GO: "The best artice for June! Thanks Dan, you deserve the GOLD medal!"
    Benoît Jester: "A good article with useful scripts, as they can be used fior many scenarios (data refresh, migration tests, ...)"
    Jinchun Chen: "Good and low-cost solution. To be automatic, we can use EventHandle instead. "
    Craig Lussier: "Nice PowerShell script solution and explanation of the scenario. Consider using functions with parameters for easier reuse so input parameters are not hard coded."
    Margriet Bruggeman: "This script can be useful, although typically migration scenarios are more complex than this. Having said that, I probably end up using this script some time in in the future"
     Small Basic Technical Guru - June 2014  
    litdev
    Small Basic: Sprite Arrays
    Ed Price: "An important topic that's well described with fantastic examples! Great article!"
    Michiel Van Hoorn: "Great starter for Sprite Fundamentals and how to handle them. Briljant start point for greating you 2D shooter"
    Jibba Jabba
    Small Basic - Monthly Challenge Statistics
    Ed Price: "Jibba Jabba brings us astonishing insights and data about LitDev's Small Basic Monthly Challenges!"
    RZ: "This is very nicely done and showed all the statistics visually"
    Nonki Takahashi
    Small Basic: Challenge of the Month
    RZ: "This is very nicely done and organized all challenges of the month in one place"
    Ed Price: "Although this is very basic, it's incredibly helpful to get all these in one list and to access all the great challenges!"
    Michiel Van Hoorn: "Good explainer on  fundamental structures."
     SQL BI and Power BI Technical Guru - June 2014  
    Anil Maharjan
    Using Power Query to tell your story form your Facebook Data
    Jinchun Chen: "Interesting. I liked this best"
    PT: "Plenty to like here" 
    Ed Price: "Great! I love to see Power Query articles like this! Great formatting and use of images!"
    Tim Pacl
    SSRS Expressions: Part 1 - Program Flow
    PT: "A very comprehensive article about program flow expressions. Nice job. I'm sure many will benefit from this article. Just a little feedback about some terminology that could be more clear: The entire statement that
    is typically used to set a property value for an object in an SSRS report is an "expression". Each of the three programming constructs you've mentioned (e.g. IIF, SWITCH & CHOOSE) are "functions" and not expressions or statements."
    Jinchun Chen: "Perfect! Good article for SSRS newbie." 
    Ed Price: "The table and images help bring it more value. Great job!"
    Anil Maharjan
    How to Schedule and Automate backups of all the SSAS catalogs within the
    Server Instance
    PT: "This is a very useful article about automating multiple Analysis Services database backups using an SSIS package and the SQL Server Agent. Nice job."
    Jinchun Chen: "Good." 
    Ed Price: "Good use of images. Could be improved with better code formatting. Good job!"
     SQL Server General and Database Engine Technical Guru - June 2014  
    Shanky
    SQL Server: What does Column Compressed Page Count Value Signify
    in DMV Sys.dm_db_index_physical_stats ?
    DB: "Interesting and detailed"
    DRC: "• This is a good article and provides details of each and every step and the output with explanation. Very well formed and great information. • We can modify the create table query with “DEFAULT VALUES". CREATE TABLE [dbo].[INDEXCOMPRESSION](
    [C1] [int] IDENTITY(1,1) NOT NULL, [C2] [char](50) NULL DEFAULT 'DEFAULT TEST DATA' ) ON [PRIMARY]"
    GO: "Very informative and well formed article as Said says.. Thanks for that great ressource. "
    Durval Ramos
    How to get row counts for all Tables
    GO: "As usual Durva has one of the best articles about SQL Server General and Database Engine articles! Thanks, buddy!" "
    Jinchun Chen: "Another great tip!"
    PT: "Nice tip" 
    Ed Price: "Good topic, formatting, and use of images. This would be far better if the examples didn't require the black bars in the images. So it would be better to scrub the data before taking the screenshots. Still a good article. Thank
    you!"
     System Center Technical Guru - June 2014  
    Prajwal Desai
    Deploying SCCM 2012 R2 Clients Using Group Policy
    Ed Price: "Great depth on this article! Valuable topic. Good use of images."
    Mr X
    How to introduce monitoring and automatic recovery of IIS application
    pools using Orchestrator
    MA: "Good job Mr X, However I would like to see this runbook integrated as a recovery task with Operations Manager IISapppools Monitors in order to maintain a standard way of notifications and availability reporting."
    Ed Price: "Good formatting on the images, and great scenario!"
    Prajwal Desai
    How to deploy lync 2010 using SCCM 2012 R2
    Ed Price: "Great job documenting the entire process!!!"
     Transact-SQL Technical Guru - June 2014  
    Saeid Hasani
    T-SQL: How to Generate Random Passwords
    JS: "I loved the article, well structured, to the point. Not missing any caveats that might occur, really good in the end. I would suggest changing the function to accept a whitelist / blacklist as well as a length of
    the password to be created. This would be the cherry on the pie :-)"
    Samuel Lester: "Very nice writeup for a real world problem!"
    Richard Mueller: "Clever and apparently well researched. I liked the detailed step by step explanations."
    Jinchun Chen: "Excellent!"
    Manoj Pandey: "A good and handy utility TSQL that I can use and levarage if I have to use similar feature in future."
    Hasham Niaz
    T-SQL : Average Interval Length
    Richard Mueller: "A good article, but I need more explanation of the concepts."
    Manoj Pandey: "A handy TSQL script that I can use and levarage if I have to use similar feature in future."
    Visakh16
    T-SQL: Retrieve Connectionstring Details from SSIS Package
    Manoj Pandey: "Good shortcut by using TSQL with XML to read metadata information from SSIS XML file."
    Samuel Lester: "Handy trick, thanks for posting!"
    Richard Mueller: "Good code, but more explanation needed. Could use a See Also section."
     Visual Basic Technical Guru - June 2014  
    The Thinker
    Better to Ask for forgiveness then permission
    Richard Mueller: "Good use of images and code. The humorous title might be better in a blog."
    MR: "Great topic!"
    GO: "Well, to be honnest, many people worked on that article, but still, the owner "the thinker" should receive the credits! muchos gracias "The Thinker" for the Most Revised Article"
     Visual C# Technical Guru - June 2014  
    Jaliya Udagedara
    Entity Framework Code First - Defining Foreign Keys using Data Annotations
    and Fluent API
    Ed Price: "Wow. Good descriptions, great code snippets, and great job highlighting sections on your images!"
    GO: "Thank you."
     Wiki and Portals Technical Guru - June 2014  
    XAML guy
    History and Technology Behind the TechNet Wiki Ninja Belt Calculator
    Ed Price: "It's amazing to see all the details of what this tool does. Great job on the descriptions and formatting the images and text!"
    Richard Mueller: "Great documentation. Good links to explain everything."
    GO: "I love your articles XAML guy! Always clear and always a pleasure to read! Thanks for you help and commitment for this tool."
    Durval Ramos
    HTML5 Portal
    Ed Price: "This is great to see this HTML5 resource!"
    Richard Mueller: "A great contribution to our collection of portals"
    GO: "The HTML5 Portal is A-W-E-S-O-M-E !"
    João Sousa
    ASP.NET Portal
    Ed Price: "Good job on this portal! The Return to top links are helpful!"
    Richard Mueller: "More should be done to distinguish this portal from
    here."
    GO: "Thanks Joao!"
     Windows Phone and Windows Store Apps Technical Guru - June 2014  
    Dave Smits
    Theming of your application
    Peter Laker: "Another great article from the mighty Dave. Very useful. Not sure if MS like us want us to work around the accents so much though ;)"
    Ed Price: "Very useful topic and great formatting on the code! Could benefit from more explanation on the code toward the bottom and a See Also section. Great article!"
    saramgsilva
    Creating Windows Phone and Window 8.1 applications using Microsoft App Studio
    Peter Laker: "A great introduction! Nice walkthrough, and plenty to look at!"  
    Ed Price: "This is good. I love the narrative and use of images! Good conclusion!"
    Carmelo La Monica
    Create Universal Application with Windows Phone App Studio (en-US).
    Peter Laker: "Sensational article. A real attention grabber and written very clearly."  
    Ed Price: "Fantastic job on the narrative and images. Some amazing articles this month!"
     Windows Presentation Foundation (WPF) Technical Guru - June 2014  
    Magnus (MM8)
    WPF: How To Tab Between Items In a ListBox
    KJ: "This article seemed very useful to me. The kind of thing that I might need and here's the answer."
    GO: "Thanks for that great article!."
    Ed Price: "Another amazing article from Magnus! Great job on the topic choice (very needed scenario), formatting, code, explanations, and See Also section. Fantastic article!"
    Sugumar Pannerselvam
    Lets forget about limitations and temprorary fix... Think about 4.5 features
    KJ: "Wish there were code samples and more flushed out scenarios"
    GO: "Why second place? the layout and way to explain didn't convince me. Doesn't mean that the article is bad. The article is awesome; but it's missing something."
    Ed Price: "Short and sweet. Could benefit from adding in some code snippet examples and images. Good topic choice."
     Windows Server Technical Guru - June 2014  
    Mr X
    DHCP on Windows Servers – Why are the expired IP addresses not getting re-assigned?
    JM: "This is an excellent article, thanks for your contribution."
    Richard Mueller: "Important information with good explanation. Needs a See Also section."
    Philippe Levesque: "Good article ! I like how it's explained versus Windows Server. An image with the DHCP's process could be a good addition for reference. (DHCP OFFER, DHCP ACK, etc..)"
    Mr X
    How to force a DHCP database cleanup for expired leases in a specific scope
    GO: "I'm actually thinking that nobody can defaut you Mr.X"
    Philippe Levesque: "Good article ! I would add that changing the lease time to be shorted could help too."
    JM: "A very good article, however you might consider adding this content as a section in your article about expired IP addresses in DHCP"
    Richard Mueller: "More good information. Should be linked to the other DHCP article."
    GL: "This is OK but a better solution for a highly utilized DHCP scope would be to shorten the lease time and/or configure a superscope."
    Hicham KADIRI
    Windows Server Core 2012 R2 - Initial configuration
    GL: "This is good required information. I would really like to see information added about how to add a server role. You might consider providing PowerShell alternatives to the netsh and other commands."  
    JM: "This is a great to-the-point article on how to configure a Core install of Windows Server, nice work."
    Richard Mueller: "A great collection of useful tools. Some could use images, more detail, or examples. The example sections could be added to the Table of Contents."
    GO: "Well, our new french MVP! Well written Hicham! Do not forget to pray attention for the layout! It's capital for readers and judges!"
    Philippe Levesque: "I like the article, a good resumé of the command you need to do to configure a server."
    Don't forget the full version, with runners up is available
    here.
    More about the TechNet Guru Awards:
    TechNet Guru Competitions
    How it works
    #PEJL
    Got any nice code? If you invest time in coding an elegant, novel or impressive answer on MSDN forums, why not copy it over to the one and only
    TechNet Wiki, for future generations to benefit from! You'll never get archived again!
    If you are a member of any user groups, please make sure you list them in the
    Microsoft User Groups Portal. Microsoft are trying to help promote your groups, and collating them here is the first step.

    Congrats to Steef-Jan, Boatseller, and Murugesan! And thanks to all the contributors! Great articles this month!
     BizTalk Technical Guru - June 2014  
    Steef-Jan Wiggers
    BizTalk Server: Custom Archiving
    TGN: "This one was my favorite this month. Archiving is a topic that is brought up often. Well done explaining it simply and how to do it according to best practice"
    Sandro Pereira: "Love the topic, well explain and with everything you need, my favorite."
    Mandi Ohlinger: "Another great addition to the Wiki. "
    boatseller
    BizTalk: Reducing and Consolidating WCF Serialization Schema Types
    TGN: "Very good, keeping the code clean, and only referencing what you need and consolidate it is important!"
    Mandi Ohlinger: "Great solution to somewhat-annoying behavior. Nice addition to the Wiki!"
    Sandro Pereira: "Great article."
    Murugesan Mari Chettiar
    How to Implement Concurrent FIFO Solution in BizTalk Server
    Ed Price: "Incredibly thorough in your explanations! Great formatting. Good job!"
    TGN: "First in, first out. Great article Murugesan!"
    Sandro Pereira: "Good additional to the TechNet Wiki, good work."
    Also worth a mention were the other entries this month:
    BizTalk Server and Sentinet - Protocol Mediation REST to SOAP by
    Steef-Jan Wiggers
    Ed Price: "Thanks for digging into this important topic. Amazing job on the diagrams and images!"
    Sandro Pereira: "Was missing this topic in the TechNet Wiki, great article!"
    TGN: "You've put a lot of effort into this one. Sentinet is a good addition to BizTalk development, great work Steef-Jan."
    BizTalk: Passing variables into maps by
    Alastair Grant
    Mandi Ohlinger: "Nice use of the ThreadStatic attribute!"
    TGN: "Nice article, and it is true every now and then you need that variable into the map!"
    Sandro Pereira: "Good example, however this approach comes with little performance hit also and in some scenarios you can also find yourself in particular dangerous situation, for example if you don’t validate if the static singleton instance
    object still exist or not in the code you obtain “object reference not set to an instance of an object”"
    BizTalk: SQL Patterns for Polling and Batch Retreive by
    boatseller
    Sandro Pereira: "Good work and good article."
    Ed Price: "Good topic with great use of images and code formatting!"
    TGN: "This is really good. I can see you spent time on this one. Great work!"
    BizTalk Server : Scheduling Orchestration using Trigger Message by
    Maheshkumar S Tiwari
    Mandi Ohlinger: "This is a must-read when using scheduled receive in BizTalk! LOVE the Codeplex adapter. "
    Sandro Pereira: "As one of the persons in charge for this adapter... I must say I love it!"
    TGN: "Good one, an article that is very valuable for the community."
    Ed Price, Azure & Power BI Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

  • Error Handling in BizTalk

    My Scenario is - I will be receiving Batched files (FlatFile) and my BizTalk will be interacting with Web services(WCF)
    My suggestions was to use ESB but I was told for Batched messages ESB is not a good idea. It works good for debatched messages.
    Any suggestions for my scenario please ?
    MBH

    Now that's a different scenario.  Instead of starting with how to handle exceptions, focus on avoiding them in first place.
    With 10k batches, you should consider a Resource Dispenser or Thottling pattern since as a caller, BizTalk can easily overwhelm your average internal service endpoint.
    How to handle exceptions depends on what the business expectation is and who must handle them.

  • Consuming REST services

    Hi,
    Can you please let me know the approach to consume a REST service dynamically. 
    I have a custom orchestration service as described in the below thread. I use BRE resolvers to resolve and set the endpoints runtime on dynamic ports. Also using dynamic transforms.
    http://www.ithero.nl/post/2013/06/02/Creating-a-Custom-Itinerary-Orchestration-Service-for-the-Recipient-List-pattern.aspx
    Now i want to extend this to invoke REST apis as well. Can you please guide to a link or share some ideas on how this can be achieved using BizTalk 2013.
    Also could you please comment on authentication of such requests.
    Thanks,
    Ujjwal
    -Ujjwal

    Hi Ujjwal,
    Here is a useful link for you.
    Calling Restful Service using Dynamic Send Ports – BizTalk 2013
    How to call RESTFULL service using Dynamic Ports with Variable Mapping in
    WCF-WebHttp Adapter
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Re: Service Object events and LockMgr

    On the option that you have considered, I have implemented the same model
    in my previous project (using Java/RMI), but I felt that it is more than
    what is normally needed for concurrency protection.
    I can suggest another option that is worth considering which is in place in
    our app for concurrency.
    Almost every table in our db has created By, created On, modifed By,
    modified On columns. The parent class of all business objects has
    attributes that correspond to these four columns. In addition to these
    four, there is a fifth attribute (introduced when concurrency was built)
    called originalModifiedOn. Upon retrieval from the db, it is set to
    modifiedOn value (from the db), during UPDATE, the value in this column is
    added part of the WHERE clause. So when the second user tried to do save
    the same object, the underlying db update will get a 'zero rows updated'
    which is translated into an application error 'possible concurrency
    error'. The user re-retreives the now 'stale' object before applying their
    edits.
    A lot of these things are and can be built into the framework imposing very
    little work that each Object needs to do to have concurrency protection.
    I am not sure if there is a mention in the Patterns paper of this model,
    but it is very easy to implement and supports what is needed.
    Kishore Puvvada's Mail
    [email protected] on 07/28/99 01:47:00 AM
    To: [email protected]@INTERNET
    cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
    Subject: Service Object events and LockMgr
    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10
    years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:
    http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    On the option that you have considered, I have implemented the same model
    in my previous project (using Java/RMI), but I felt that it is more than
    what is normally needed for concurrency protection.
    I can suggest another option that is worth considering which is in place in
    our app for concurrency.
    Almost every table in our db has created By, created On, modifed By,
    modified On columns. The parent class of all business objects has
    attributes that correspond to these four columns. In addition to these
    four, there is a fifth attribute (introduced when concurrency was built)
    called originalModifiedOn. Upon retrieval from the db, it is set to
    modifiedOn value (from the db), during UPDATE, the value in this column is
    added part of the WHERE clause. So when the second user tried to do save
    the same object, the underlying db update will get a 'zero rows updated'
    which is translated into an application error 'possible concurrency
    error'. The user re-retreives the now 'stale' object before applying their
    edits.
    A lot of these things are and can be built into the framework imposing very
    little work that each Object needs to do to have concurrency protection.
    I am not sure if there is a mention in the Patterns paper of this model,
    but it is very easy to implement and supports what is needed.
    Kishore Puvvada's Mail
    [email protected] on 07/28/99 01:47:00 AM
    To: [email protected]@INTERNET
    cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
    Subject: Service Object events and LockMgr
    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10
    years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:
    http://pinehurst.sageit.com/listarchive/forte>
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • Service Object events and LockMgr

    Hi folks,
    We're currently looking at strategies for dealing with the simultaneous
    updates to the database from multiple clients (concurrency
    management). That is when two (or more) clients load the same object to
    edit it, then make different changes and save them to the database.
    We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    think) which describes three methods of dealing with this:
    1) Lock the database table row as soon as a client select it for editing
    and hold the lock until it is saved.
    2) Immediately before 'saving' check that the database hasn't changed
    (either by reading what's there before updating, or by using a huge
    'where' clause that contains all unchanged fields)
    3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    proxies to allow locking and updating notification between the clients.
    Option 3 is obviously the most robust method, but it requires a fair
    amount of coding and could also be a bottleneck for database reads and
    writes.
    But I have another option for which I was looking for opinions. What if
    we had a "Change Event manager" which broadcast an event every time
    a change is made to the database. Each business class would have its
    own event. If the event had the object's primary key as a parameter, then
    clients editing that particular object type could check to see if the object
    currently on screen is the one that changed. That way you could disable
    the 'save' until they had refreshed their on-screen data.
    It's not particularily elegant, but it's reasonably simple to implement. It
    also deals with changes sent across our WAN from other database
    servers.
    But this option is only worthwhile if you can replicate the "Change Event
    manager" SO and still register for an event on the client. Can clients
    register for SO events and receive an event generated by any of the SO's
    replicates? Or when you register for an SO's event do you register for
    only one instance of the SO?
    Thanks in advance for any answers.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email: [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10 years
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

    Hi,
    Just wonder exactly how this Lock Manager can be implemented. Do you mean that you are
    going to cache every object that is instantiated from the database? Or you just cache
    the object id, primary key, etc?
    Frankly speaking, I won't attempt to due with this kind of currency coding myself as
    the database vendor has spent years in coding just to do this.
    Regards.
    Dimitar Gospodinov wrote:
    Hello Duncan,
    Wednesday, July 28, 1999, 10:31:46 AM, you wrote:
    DK> Hi folks,
    DK> We're currently looking at strategies for dealing with the simultaneous
    DK> updates to the database from multiple clients (concurrency
    DK> management). That is when two (or more) clients load the same object to
    DK> edit it, then make different changes and save them to the database.
    DK> We have a copy of a Fort&eacute; document (from the "Patterns" course, I
    DK> think) which describes three methods of dealing with this:
    DK> 1) Lock the database table row as soon as a client select it for editing
    DK> and hold the lock until it is saved.
    DK> 2) Immediately before 'saving' check that the database hasn't changed
    DK> (either by reading what's there before updating, or by using a huge
    DK> 'where' clause that contains all unchanged fields)
    DK> 3) The Fort&eacute; "LockMgr" pattern, which uses a service object with notifier
    DK> proxies to allow locking and updating notification between the clients.
    DK> Option 3 is obviously the most robust method, but it requires a fair
    DK> amount of coding and could also be a bottleneck for database reads and
    DK> writes.
    DK> But I have another option for which I was looking for opinions. What if
    DK> we had a "Change Event manager" which broadcast an event every time
    DK> a change is made to the database. Each business class would have its
    DK> own event. If the event had the object's primary key as a parameter, then
    DK> clients editing that particular object type could check to see if the object
    DK> currently on screen is the one that changed. That way you could disable
    DK> the 'save' until they had refreshed their on-screen data.
    DK> It's not particularily elegant, but it's reasonably simple to implement. It
    DK> also deals with changes sent across our WAN from other database
    DK> servers.
    DK> But this option is only worthwhile if you can replicate the "Change Event
    DK> manager" SO and still register for an event on the client. Can clients
    DK> register for SO events and receive an event generated by any of the SO's
    DK> replicates? Or when you register for an SO's event do you register for
    DK> only one instance of the SO?
    DK> Thanks in advance for any answers.
    DK> Cheers,
    DK> Duncan Kinnear,
    DK> McCarthy and Associates, Email: [email protected]
    DK> PO Box 764, McLean Towers, Phone: +64 6 834 3360
    DK> Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    DK> -------------------------------------------------------------------------------
    DK> Providing Integrated Software to the Meat Processing Industry for over 10 years
    DK> -
    DK> To unsubscribe, email '[email protected]' with
    DK> 'unsubscribe forte-users' as the body of the message.
    DK> Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>
    I would recommend you to use the following approach (of course if you
    do not have some special requirements :) ):
    1. You should have a LockManager that will synchronize all clients in
    their attempt to modify/delete objects in your application.
    2. Each client, when attempts to modify/delete some object, it must
    LOCK it using the services provided with the LockManager.
    3. The requested operation can be performed only after successful
    locking.
    4. If a lock can not be obtained (for example if the object is already
    locked by some other client) then the operation is aborted.
    The details of this pattern depends on your needs. :)
    Hope this helps.
    Best regards,
    Dimitar mailto:[email protected]
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>

  • How to call Biztalk  through ABAP-DYNPRO

    Hi All  ,
    I want to call a function module which  in  BIZTALK Server through
    ABAP-DYNPRO ( by service call) . for this I require  Destination details ( in  service call ) .
    Can anyone please send me the Destination details or the approach  to follow for calling the  Biztalk ?
    Thanks in advance ..
    Regards
    Rahul

    Run a search on Web service calls from WDA.
    This topic has been addressed on numerous occassions.
    You can call BIZ-TALK using a web service.
    You could also call it using straight HTTP .
    There are classes in ABAP to allow you to write an HTTP client app if required.
    If possible go the Webservice route.
    IE have you Biztalk guy generate a WSDL for the call.
    The follow instructions on numerous threads on calling web services.
    Cheers
    Phil.

  • Web service scenario - Missing or Invalid Receiver Agreement

    Dear,
    We are on SAP PI 7.11 SP11 and facing a problem with a synchronous scenario SOAP <-> SAP PI <-> ABAP proxy.
    The Service Interfaces contain multiple operations and operation/message mappings are in place.
    Also, configuration on the ID side is done.
    The WSDL is retrieved from the sender agreement and imported into soapUI.
    All seems there and the cache is ok, but still we face the error Missing or Invalid Receiver Agreement in the message monitor.
    I already found OSS note 1739173, describing the problem, but that seems to be for asynchronous messages only with QoS EO and EOIO.
    Or do we need that anyway?
    Any leads what could solve this strange problem?
    thanks a lot.
    Dimitri

    Hi,
    Both outbound and inbound service interface have multiple operations.
    The configuration:
    ESR
    Outbound and inbound service interfaces containing 5 operations each.
    All synchronous, interface pattern stateless.
    Outbound service interface is linked to an external message.
    The Inbound service interface is linked to a message type.
    For every operation, a operation mapping and message mapping is available.
    Integration Directory
    seperate configuration objects. No ICO is used.
    Sender Agreement
    no validation
    Software Component Version of Sender Interface is pointing to the SWCV, containing the outbound service interface
    sender SOAP communication channel
    HTTP
    SOAP 1.1
    Do not use SOAP envelope enabled
    QoS is best effort
    Receiver Determination
    software component version left blank. So, no operation-specifics mentioned.
    type of receiver determination is standard
    receiver is the SAP back end system (business system)
    Interface Determination
    Software Component Version of Sender Interface is pointing to the SWCV, containing the outbound service interface
    for each operation, a operation mapping, inbound service interface and namespace is indicated
    Receiver Agreement
    receiver XI adapter
    HTTP 1.0
    XI 3.0
    HTTP destination to the SAP back end
    Transfer hop list enabled
    Software Component Version of receiver Interface is pointing to the SWCV, containing the inbound service interface
    Please note
    the message mapping is a XSLT mapping
    tests with single-operation service interfaces are successful.
    Kind regards,
    Dimitri

  • Exception Handling in BizTalk

    what is the best way to handle errors in BizTalk ?
    We are using web services, databases.
    Is ESB Exception handling preferred to others ? any better suggestions please ?
    MBH

    You don't need  custom-Itineraries /On Ramp/Off Ramp for repaid and resubmit using ESB portal. But you need to have receive ports, send ports, orchestration which comes with ESB tool kit for this purpose. When a failure is published to ESB-bus,
    "catch all” exception send port will pick it up and publish it to the ESB Exceptiondb. Then using the ESB portal you can edit/repair the message and resubmit it directly from the portal without using the ESB-Toolkit artefacts like Itineraries /On Ramp/Off
    Ramp.
    Refer this article where author uses this feature without any custom ESB-toolkit artefacts
    http://seroter.wordpress.com/2010/01/18/considerations-when-retrying-failed-messages-in-biztalk-or-the-esb-toolkit/
    One option to route a failed message to the ESB Portal one must turn on routing for failed messages on the send port. This results in the failed message being routed to the ESB Exception database along with the exception details. Even in orchestration's
    you can submit the failed message to ESBException DB from where  you can repair and resubmit the message.
    Refer this article for more help on this context:
    Routing exceptions on send ports to the ESB Exception Management Portal without turning on routing for failed messages
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Maybe you are looking for

  • Printer driver hangs when printing with Office 2013/Windows 8 64 bit

    Printer: HP Color LaserJet CM1312nfi Printer Driver: V5.1 (up to date, downloaded from HP support website) or Generic V5.6 OS: Windows 8 Professional 64bit When I try to print a certain Excel document with Excel 2013 and printer driver V5.1, the prog

  • Can I install two versions of NW in the same server?

    I have BW installed in a server running on Netweaver 7.3. but I need to install Netweaver 7.02 to do some tests, is it possible to install this other version in the same server? or will there be conflicts after the installation of the second version?

  • Installing fontconfig-infinality from AUR

    Hello guys! It is probably the dumbest question ever, but I'm new to Arch and I am kind of stack here, so please help. I'm trying to install the infinality fonts on my system, 'cause the default ones look awful for me. According to Font Configuration

  • Colors not showing up and print doubleing and blurry

    Some sites colors do not show as they should,in black and white.Print is superimposed over each other and blurry.I never had this problem till I down loaded firefox 4.

  • "extract" one mc from another

    I have a rectangle with a text over. How kan I "extract" the text from the rectangle so the background is visible through the rectangle?