The Logical Design phase During this process, we define the structure of various logical entities which will be forming the solution and the behavior of those to interact with each other. Process to create the logical design is as follows:

1 Identify Business Objects: The objects which either provide some kind of service or use some service or hold data which is useful for the business processes are the candidate business objects. Finalized business objects will be modeled as Classes.

2 Identify the services that will be offered by these business objects. These services later on will be modeled as Methods of the classes.

3Identify attributes of the business objects. Attributes will hold the data and will be modeled as Fields and Properties of the classes.

LogicalClass

Read the rest of this entry »

The Component Diagram can show various classes, interfaces, pages, executables etc. packaged into deployable units called components. Components expose interfaces which are either the provider interface or the paired consumer interface. Component can have internal other multiple components which represent any deployable unit like web site, class library, page etc. and the container component can delegate the interface implementation to these internal components. In the following example the ITester interface of the Development component is consuming the ITester interface of the Testing component. Testing component has Tests and Unit Tests as further internal components. Tests component implements the ITester interface so the Testing component delegates tasks of ITester interface to Tests component. Similarly Unit Tests component implements IUnitTest interface so the Tests component further delegates the tasks of IUnitTest to Unit Tests component.
ComponentDiagram
Read the rest of this entry »

It’s brand new stuff in vsts 2010 Sequence Diagram…This diagram models the behavior of the classes which are modeled in the class diagram. It graphically shows the method calls on various class instances from the other class instances. It may show synchronous as well as asynchronous method calls and their returns. Usually it is in the time ordered fashion.
sequenceDiagram
Read the rest of this entry »

Guys .. it’s the need of architect one called Layer Diagram, In the process of Conceptual Design we baseline the Layer Diagram. Layers are the abstracted grouping of model elements which provide similar functionality and communicate with each other as well as elements of other layers. For example all elements which provide User Interface are grouped into Presentation Layer whereas elements which implement business logic, rules and constraints are grouped in the Business Logic Layer. They either are dependants or dependencies. Dependency relationship sometimes can be bidirectional. Team System for Architects provides packaged solutions to implement patterns related to layers. It provides solutions for Three Layers (Presentation, Business Logic, Data Access), Four Layers (Earlier three and Service) and M-V-C (Model, View, Controller) patterns. Layers can provide links to either projects in the solution or other model elements from UML Model Browser. Since all of those may not be ready, we can decide upon the pattern to use for our solution and baseline the Layer diagram. We can add links to elements as and when they become available. Example of layer diagram with three layer pattern is as shown below:
LayerDiagram
Read the rest of this entry »

With Activity Diagram ,If anyone has used flow charts, they know almost all details of activity chart. The following image shows all the elements which can be used to create activity diagram. Although both Use Case and Activity diagram can model the requirements, while Use Case provides the scope in the nutshell, activity diagram provides the flow of activities in a serial and specific order. It shows the business processes which are executing.
FlowActivity
Read the rest of this entry »

Till VSTS 2008 there was no support for various architectural diagrams which form the UML. Team Edition for Software Architects supported some non-UML but very practical diagrams. Those diagrams provided us ability to do High Level Design of solution architecture and infrastructure architecture. Except in case of WebService the Application Diagram did not support the Low Level Design and on the infrastructure side, except for deployment diagram no other design elements were supported. Team System 2010 for Architects has quite a number of enhanced capabilities compared to Team Edition of Software Architects 2008. Distributed Diagrams model which was present in the Team Edition for Software Architects 2008 is no longer available with Team System 2010 for Architects.
First two phases of traditional Microsoft Solution Framework (MSF) are Envisioning and Planning. Although some of the architectural diagrams are started to be created in envisioning, the completion of those happen during the planning phase. Planning phase is further divided in three processes which run to an extent parallel but are started with a little bit of phase difference. Those processes are:

· Conceptual Design
· Logical Design
· Physical Design

In this article we will look at the details of various diagrams which are required during each of the design process and check if it is supported by Team System 2010 for Architects. Architectural diagrams can be created using Team System 2010 for Architect in which there is a project template for ‘Modeling Project’ which allows us to create various diagrams. We will take an overview of those in the article.
Conceptual Design: This is a process in which from a hazy cloud of needs, crystallization of requirements happens. Requirements are gathered, analyzed and prioritized. Requirements are modeled using ‘Requirement Document’ and ‘Use Case’ diagrams. We also document the processes that are followed by the business. These processes are workflows within the business system. We can use ‘Activity Diagram’ to model those processes and workflows. During the conceptual design the architect will also list all the user roles that will be interacting with the system and the general architecture of the system. General architecture definition will contain the list of logical layers and physical tiers which will be present in the future state of the system. To model it, we can use the ‘Layer diagram’ which is available in the Team System 2010 for Architects.
usecaseTools
Read the rest of this entry »

Visual Studio Team System 2010, Microsoft’s collaborative development environment, will introduce features that both align agile methodologies with project management and help developers from a “fingers on the keyboard” perspective.
2010agile.jpg
Read the rest of this entry »

Microsoft’s upcoming Visual Studio Team System 2010 release is anchored in efficiency and code quality, incorporating new ALM, architecture and testing tools. As the release draws nearer, the company is continuing to flesh out those features, and developers are learning how to adapt their workflows to its new capabilities.
vsts2010

Read the rest of this entry »

Hi Pale,

The Dependency Injection and factory design patterns are very common, and
provide great flexibility in software development and also asked by many developer
that i’ve ever meet Although, most programmers have come across these patterns,
they may not grasp the concepts completely until they
see these patterns in action in real projects.
Read the rest of this entry »

Hi Dudes,

The Factory design pattern is another heavily-used pattern in ASP.NET applications
to help introduce loose coupling and remove dependencies in the code. The Factory
method is a creational design pattern that is used to create objects without any prior
knowledge of the type of the object. We delegate the responsibilities of creating the
actual objects to subclasses or separate factory classes. This can be accomplished by
using interfaces or abstract classes.

FactoryMethod

Read the rest of this entry »

Hi dude,

Much of topics that i was discussed  in my previous post about TFS collaboration in Axapta, herewith the resume of it to make a recipe for us to implement it :

Read the rest of this entry »

Hi Developers,

Version control is the core of agile collaboration development for these days, why ? because when we talked about collaboration development project, our first head is we involve so many developers and it’s element with in, and we need the mechanism to manage that, not possible closed to development in ERP Microsoft Dynamics Axapta 2009 the daily development happen and often is develop the AOT ( Application Object Tree ) structure and architecture ,because this is the layer of what we called the ERP Customization in Axapta, so let’s take a look this picture below :

OLCAx2009

Read the rest of this entry »

Hi Dude,

Branching enables concurrent development within the Microsoft Dynamics AX 2009 environment and
provides a means of remediation and bug fixes in previously released versions without interrupting
ongoing development activities. This concurrent development is accomplished by providing each
endeavor by a developer with a separate source code repository that contains the specific items and
version that is needed to complete the effort. For an example of how you can incorporate branching,
see the Microsoft Dynamics AX 2009 Branch Support Plan using Team Foundation Server picture below:

BranchingAx

  Read the rest of this entry »

Hi Folks,

Nice to meet you again and now i would like to discuss with you about integrating the development of ERP Microsoft Dynamics Ax2009 with Team Foundation Server, by the way actually not only TFS that you can use for ALM processing and you can use Microsoft Visual SourceSafe (VSS) as well, or MorphX VCS for version control in Microsoft Dynamics AX 2009. Team Server is an ID server that issues IDs to objects to make sure that all IDs are unique when you work under version control. Team Server is a requirement when you use Microsoft Visual Studio Team Foundation Server or MicrosoftVisual SourceSafe for version control. Team Server is optional when you use MorphX VCS, the version control system that is included with Microsoft Dynamics AX 2009, for version control.

The Development Environment

The development environment consists of a server with a TFS installation, a version control

administration server, and various local development machines.

Team Foundation Server The Team Foundation Server should have:

Read the rest of this entry »

Hi guys,

If we know better about the design pattern, it will be usefull a lot for us to build the reusable software component like we want to achieve it, one of the famous pattern is singeleton and much of developer especially in web development until this time still confuse to implemented. Now i wanna to discuss the common usage of singeleton pattern in aspnet which always shown in development project. Lets rock and roll …

There may be numerous programming scenarios when we may need to restrict an
object to a single instance. Some of them are:

  • A single instance of a mail server might be required to process all incoming
    mail requests.
  • The Session object in ASP.NET is implemented using singleton pattern. That
    is why each user will have only one session instance accessible at any point
    of time.
  • The Application object in ASP.NET is also singleton based. There is only
    one instance of the Application object for an entire application.
    We may need a single instance of a logging utility to process all logging
    requests in our application.

Read the rest of this entry »

Hallo Dudes,

One of the biggest enemy of system development is “Budget” :)  sounds weird isn’t ? … for instance just like the capacity planning of the infrastructure development, one of my client ever had a case of their limitation budget to providing the infrastructure server.. okay let’s go a head.. in this case my client only had one server but it’s need to be installed about WSS 3.0 and TFS 2008 together… it can be implemented but the problem issued is conflicting between the engine of Sharepoint analytics dll and the reporting service engine cube and also it could be possibly happen if those application between MOSS and Reporting service took the same port 80 channel , then the impact will occurs like this message :

“The type Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages, Microsoft.SharePoint.Portal,
Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c does not implement”

Read the rest of this entry »

Hello again folks,

In my last blog written about the reporting problem is talking about the lost of connection from it’s data source and also the remote server credential malfunction and then i was talked too about how to solved by using change the password of TFS Service password for reporting service running and also how to change the account of the TFS service user account.

The second matter that we often face it is error about , even that we got succed to call the report but seems that the report didn’t show anything or in another word is we cannot grab any information from the report showing, the major engine of TFS report data is in it’s Datawarehouse or Cube in SQL Server source, so we may move to suspect the data missing trouble shooting on there.If you suspect that a report is missing information, you can confirm the omission using the following procedures.

Read the rest of this entry »

Hallo Dudes,

It has been for a long time that i didn’t write and share a couple tips of my development project due to a lot of my tightly deadline project, okay ..lets rock and roll …

Commonly in Team foundation Server real life implementation the critical area that we always face is about reporting, because the reporting is the one of the biggest benefit of why we should use team foundation server rather than another Version control software such as Team City,Tortoisse etc…

I will Drill the problem one by one from the highest frequently problem to the rare problem and then try to give the tips to solve that :

A. The Often Message error when we ran the report of TFS

The often message error occurs like this :

  •  An error has occurred during report processing. (rsProcessingAborted).Query execution failed for data set ‘dsPriorityParam’
  •  (rsErrorExecutingCommand) For more information about this error, locate the report server on the local server computer, or enable remote errors

  Read the rest of this entry »

MVP Logos

 https://mvp.support.microsoft.com/profile/Doddy

 

In this earlier year on 2009,

Once more that i had proved of Jesus blessing to me whether based on the evaluation from MVP South East and Microsoft Corp and also Supported from my colleagues DPE ( Developer Evangelist Team ) and also my friend in the development mailist group, i have been entitled with MVP award for this year with specilaized in Team System Collaboration, and it is become a really treamendous moment for me and thanks to God and to all my friends.

Cheers,

Doddy Ch Saputra,MCPD(Ent),MCITP,MCT,MVP

Well,

Praise the lord for the moment that i have shared my expertise to my fellow developer in Indonesia at Microsoft Event which called by MSDN DAY on october 28,2008, This MSDN day talking about the Topic of Life cycle Management process by using Visual Studio Team System and Team Foundation Server 2008, i take a part of bring the Architect Software perspective and i put the QoS Mindset design and System Definition Model of Distributed architecture design and each element which catered by VSTS 2008. Here are some following moment and agenda :

My Agenda

My Presentation

participant

cheers,

Doddy Ch Saputra, MCPD(Ent),MCITP,MCTS,MCP,MCT

  • Modeling that Works with Code
    Powerful modeling tools are important for both defining new systems as well as discovering architectural information about existing systems. Our new modeling tools have tight integration into the actual code of the application enabling a developer or architect to use models to enforce constraints on code, as well as to explore existing code assets. Learn more.
  • Eliminating “No-Repro”
    One of the most difficult problems has always been that of the bug that can’t be reproduced – the “no repro” bug. There are a lot of factors that drive these types of bugs and we have worked to create tools to isolate the issue and enable faster fixes. Learn more.
  • Identify the Test Impact
    After making a change to the code it is critical to test the changes to prove they work as expected and to ensure no unexpected downstream effect. Test Impact Analysis helps developers quickly check-in code with confidence by running only the necessary tests. Learn more.

SOA is the dominant super-pattern that governs overall design of modern distributed systems because it enables business alignment, agility, interoperability, and reuse. The MSF mindsets for Qualities of Service and Citizenship bring essential points of view to SOA the consideration of all aspects of experience and creation or application of reuse wherever possible. Contract-first design is an important practice for successful SOA.

The web services standards are the main enabler of SOA. VSTS supports architectural design of web services and composition of systems directly based on these services. VSTS introduces Design for Operations to reduce the complexity of preparing distributed systems for deployment. VSTS provides a Deployment Designer that marries the logical datacenter design to the system design, enabling you to see whether the application as designed will deploy in the datacenter as it is configured

Web Services and SOA

In theory, SOA does not require web services, but in practice, the technology for implementing web services as been almost completely aligned with the WS-* standards, if only for the reason that this enables technical interoperability. When developing with Visual Studio, the Microsoft .NET Framework makes it easy to implement the web services. Of course, there is more to interoperability than just the standards.

Contract-First Design

The key to interoperability is that services describe themselves in terms of interface contracts. For web services, these interfaces are expressed in the Web Services Description Language (WSDL).

A valuable SOA practice is contract-first design, or in other words, specifying the message formats and the WSDL among participating services before being concerned with implementation details. Contract-first design can ensure loose coupling and prevent decisions about how to implement services from creeping into the overall distributed system design.Practices for contract-first design are still evolving. WSDL and XSD do not yet describe message sequence or pre- and post-conditions as examples. Fuller contracts need to specify the messages that the services publish and consume, the sequence of handling, and the constraints in order to isolate the public contracts from the private details of the implementation

  Read the rest of this entry »

A value-up approach requires an explicit architecture, but it may emerge from the implementation. This creates an apparent contradiction. On one hand, you must consider all the QoS and deployment constraints in the context of the scenarios. On the other hand, value-up considers running tested code to be the best measure of system progress, and the act of developing is the act of designing, albeit at a very detailed level. It is exactly the act of development, in small fixed-scope iterations, that enables design to emerge from the implementation.

Baseline Architecture

A baseline architecture is a executable skeletal application designed expressly to mitigate technical risk and provide a solid, stable basis for project iterations. Some agile developers refer to this as “iteration zero” when platform infrastructure components are installed and a “thin vertical slice” of the system is built, exercising a very simple scenario from end to end (for example, from the user interface to the database). The goal here is to flush out and validate the project’s architecturally significant mechanisms unambiguously. Removing ambiguity mandates that the baseline architecture be executable.As an example, consider a popular application stylea web application using a relational database. A number of fundamental questions need to be answered early to determine the best fit based on good citizenship and all the perspectives of the advocacy groups , Should this application be bought or built? Should the application be a smart client or a web application? If it is a web application, what processing should be done on the client using technologies such as Asynchronous Java Script and XML (AJAX), and what processing should be done on the server? As for persistence (assuming a relational database), what are the organizational standards for the choice of a relational database? Should a new database instance be created, or should tables be added to an existing database instance? What is the source of reference data for this application? How does this application integrate with other applications in the enterprise? How many business transactions per day must this system be able to execute to support the project’s economic justification? Will this application be deployed, operated, and maintained in a corporate datacenter? If so, what are the technical constraints of the datacenter? As these fundamental kinds of decisions are made early in the project lifecycle, they result in constraints that guide and stabilize the project under development.There is a delicate balance to strike. As you work through these technical issues, try to defer decisions to the “last responsible moment.” The last responsible moment, however, will vary depending on project complexity. Often, you will let detailed design issues, such as interfaces and method factoring, evolve from implementation. In more complex projects with many dependencies, you may need to pin down interfaces and mitigate architecturally significant risks early to avoid later rework. Then, within the agreed policy, build an executable baseline that implements these high-level design decisions so that they can become architectural constraints on the project.Defining this baseline early benefits developers by providing stable platform infrastructure components and protocols for application development. Defining these constraints early also enables predictability and planning for other stakeholders. For example, Release/Operations can plan for the deployment and management of the application in production and can ensure datacenter readiness. Product management in the line-of-business can create marketing plans designed to attract levels of usage at transaction rates the system can support. Business analysts can design business process monitoring reports to analyze the application’s return on investment, which will feed planning for the next version.
Enterprise architects can design and implement reusable services across the enterprise, migrating toward an enterprise-level SOA. Defining these constraints early enables a stable, predictable basis for multiple stakeholders.

Validate Architectural Decisions

This process is not just top-down. You need to validate these constraints bottom-up by building an executable skeletal architecture. VSTS enables you to model your “asis” datacenter using the Logical Datacenter Designer and your “to-be” application using the System and Application Designers and then to run a validation report to identify conflicts between the two. Then your System and Application models can be used to generate skeletal code that can become part of your executable baseline.Doing so provides many benefits. The running code is unambiguousshould areas of design seem unclear, the source code can be consulted. The running code can be performance tested to validate initial transaction rates of the system. System settings can be verified against datacenter policies to identify potential conflicts. Also, building an executable system forces lower-level design decisions to become explicit, further refining the baseline.

Refining the Baseline

As you build out the skeletal architecture to run end-to-end, you are forced to consider lower-level design decisions. How will you structure your application logic? What is your data access approach? Will you deploy the business logic on the same server as the web server, or will you deploy them on separate application servers? What authentication and authorization mechanisms will you use? What protocols will you use between servers?Don’t try to address all the concerns yet. Choose the areas of highest technical risk to validate and let the other decisions emerge through implementation. Think about building the simplest skeletal application that will meet your constraints, mitigate technical risks, and still provide a sound, stable basis for development iterations.

knowledge and experience of others who may have also solved similar problems before and captured the learning in patterns.Patterns also give you a language with which you can concisely describe solutions, mitigate risk by reusing known good designs, and enable future maintenance and reuse of your work.

.NET Framework-Specific PatternsFor patterns specific to the .NET framework, see msdn.microsoft.com/ practices.

Reference Architectures

In many cases, you can use a reference architecture as a baseline. For example, Microsoft has created a reference application called Applied Integration Baseline (AIB), which uses a pattern-based approach to build an executable baseline , This application ships with more than twelve Visual Studio projects and is based on ASP.NET, BizTalk Server, SQL Server, Host Integration Server, and VSTS.

baseline operation

The Application Integration Baseline provides an interactive “Narrator” to visualize the baseline architecture. The visual models include VSTS Application Designer and Logical Datacenter Designer models as well as a pattern-based description of the system. Here the narrator is illuminating a scenario one step at a time by rendering each step on the Application Designer diagram.

A typical problem that most organizations face is the complexity of moving a system as designed into a datacenter as configured. The development and operations teams typically have different vocabulary, different staffs, and different physical locations (sometimes on different continents or in different companies). The information flow between development and operations can be very dissatisfying, often inaccurate and incomplete.Particularly with distributed systems, there are many parts to deploy on many servers, each with its own configuration requirements. For example, applications that run in test environments don’t run in production environments because the applications violate policies that developers were not aware of. In this situation, architectural design changes are sometimes required to bring applications into conformance, or conversely, applications need to make requirements of the datacenter, such as specific versions or service packs. These operational requirements may conflict with the existing deployments of other applications. The consequence of these communication mismatches may be a delay of weeks or months between the time that architects, developers, and testers announce that an application is ready to deploy and the readiness of operations to actually deploy it.In the value-up approach of embracing change and enabling business agility, these delays are a huge barrier. VSTS starts to remove these disconnects by enabling Design for Operations. The principle is simple. Rather than waiting until an application is implemented to attempt deployment, VSTS tests the deployability of the application during its design. The solution architect and infrastructure architect can then resolve any incompatibility between the application requirements and the datacenter constraints well ahead of actual deployment and significantly reduce the bake time needed for successful deployment.Design for Operations is made possible by the System Definition Model (SDM):At the heart of SDM is the notion of a system. In its most basic form, a system is an independently deployable configuration of resources. For software systems, resources are ultimately directories and files, such as binaries, XML files, configuration files, SQL script files, and so on. For hardware systems, such as graphics systems, motherboards, network interface cards and power supplies, resources might include the boards, processor chips, memory chips, fans, and other lower-level components.If a system enables access to its resources, or if its resources access services offered by resources in other systems, it exposes those resources via endpoints. For example, a motherboard might provide an IDE endpoint for peripherals; web service endpoints provide a means for an application to expose or consume web services; HTTP endpoints provide a means for a server to enable access using the HTTP protocol.The SDM is visualized on the Deployment Designer . It marries the application design (typically from the solution architect) with the logical datacenter design (from the infrastructure architect). Directly on this diagram, you can validate the architecturethat is, you can determine whether the application as designed will deploy in the datacenter as configured. Any exceptions appear directly as warnings with glyphs on the diagram as needed

operation design - vsts

Validation of the Deployment Designer can identify conflicts between the application as designed and the datacenter as configured. In this example, the application requires Windows Server 2003, but it is intended for deployment on a server with an earlier OS

Cheers,

Doddy Ch Saputra,MCPD(Ent),MCTS,MCT

Consideration - What Software Is Worth Building?To overcome the gap, you must recognize that software engineering is not like other engineering. When you build a bridge, road, or house, for example, you can safely study hundreds of very similar examples. Indeed, most of the time, economics dictate that you build the current one almost exactly like the last to take the risk out of the project.With software, if someone has built a system just like you need, or close to what you need, then chances are you can license it commercially (or even find it as freeware). No sane business is going to spend money on building software that it can buy more economically. With thousands of software products available for commercial license, it is almost always cheaper to buy. Because the decision to build software must be based on sound return on investment and risk analysis, the software projects that get built will almost invariably be those that are not available commercially.

This business context has a profound effect on the nature of software projects. It means that software projects that are easy and low risk, because they’ve been done before, don’t get funded. The only new software development projects undertaken are those that haven’t been done before or those whose predecessors are not publicly available. This business reality, more than any other factor, is what makes software development so hard and risky, which makes attention to process so important.

 

Quality of Service MindsetMSF describes a QoS mindset as follows:The idea is that qualities of service such as performance and security should not be considered late in the project but throughout it. When ignored, these qualities of service are ultimately consumer dissatisfiers.

Architectural design needs to reflect this QoS mindset. Often the architect is the team member most able to consider the implications of QoS requirements, implicit or explicit. In turn, the decisions with the greatest impact on QoS are typically made during design.

cheers,

Doddy Ch Saputra,MCPD(Ent),MCTS,MCT