Upload
brett-stanley
View
215
Download
0
Embed Size (px)
Citation preview
Innovative web programmingMicro Business Solutions,
Belgrade
www.micro-bs.com
IPSI 2004 Sveti Stefan
Tatjana Kovačević, M.Sc.E.E., CTODušan Dimitrijević, MCP, project [email protected]@micro-bs.com
4.5 years of proven experience in the field of:– eCommerce products for the market– tailor-made solutions– inhouse tools to “cut the time in half”– outsourcing
A relation to IPSI and prof Milutinović is1. professional (areas overlap just a little)2. academic (PhD)3. human
scalable - interconnectable – customizable
10 projects out of 15 are alive at this very moment
1. how do we make it? The first time to present it! 1st session
2. what real stuff did we make? 2nd session
HP eShop for the area of Slovenia
Solomon European Network Virtual Enterprise – still opened
MICROSOFT Serbia & Montenegro recognizes the potential of our work and from October 11th we together start a campaign Virtual Incubator –
- they promote Office 2003 OSL
- we promote eAgenda
If it is possible, we can make IT.
If it is impossible, we can make IT anyway.
Dare to dream.
www.can-make-IT.com
New projects are a special chalenge rather than a scary problem!
• Database:– MS SQL Server– Oracle– SQL Base
• Programming:– MS Visual Studio .NET
• over 33 man-years experience• over 15 large projects (eCommerce)• developed Micro AXIS .NET
• Web developing:– ASP.NET– C#– HTML, DHTML, Java
script– Openshop– Visual Basic .NET
• Data AXIS (db framework)
• Server side viewstate
• Data Filter
• Template web controls
• Web components (web parts)
Micro AXIS
MicroBS - Data AXIS
• Built on ADO.Net but on a lower level
• OleDb DataReader – much more faster than DataAdapter; accessing only data, not structure
• Data is saved in Object[] array – requiring less space
• Programmer-friendly (intellisense)
• Data is cached on application level
MicroBS – server side viewstateVIEWSTATE"
value="dDwtMjczOTA4NTY2O3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDE+O2k8Mz47aTw1PjtpPDc+O2k8MTE+O2k8MTM+Oz47bDx0PDtsPGk8MT47aTwzPjtpPDU+O2k8Nz47aTw5PjtpPDExPjtpPDEzPjtpPDE1PjtpPDE3PjtpPDE5PjtpPDIxPjs+O2w8dDxwPHA8bDxUZXh0Oz47bDxwcmlqYXZhOz4+Oz47Oz47dDxwPHA8bDxUZXh0O1Zpc2libGU7PjtsPG9kamF2YTtvPGY+Oz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxrb3JwYTs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8bmFydWTFvmJpbmU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPEhvbWU7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPFByb21vY2lqZTs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8UHJvaXp2b2RpOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxLb21wbGV0aTs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDtWaXNpYmxlOz47bDxQcm9maWw7bzxmPjs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8TyZuYnNwXDtuYW1hOz4+Oz47Oz47dDw7bDxpPDA+O2k8Mj47PjtsPHQ8cDw7cDxsPG9ua2V5ZG93bjs+O2w8U3VibWl0QnV0dG9uKGRvY3VtZW50LmFsbC5NYWluTWVudUNvbnRyb2xfR2xvYmFsU2VhcmNoQ29udHJvbF9idG5TZWFyY2gyKTs+Pj47Oz47dDxwPHA8bDxUZXh0Oz47bDx0cmHFvmk7Pj47Pjs7Pjs+Pjs+Pjt0PHA8cDxsPFRleHQ7PjtsPERvYnJvZG/FoWxpITs+Pjs+Ozs+O3Q8O2w8aTwwPjtpPDI+O2k8ND47PjtsPHQ8cDxwPGw8VGV4dDs+O2w8VWtvbGlrbyBzdGUgcmVnaXN0cm92YW5pIGtvcmlzbmlrIG5hxaFlIG9ubGluZSBwcm9kYXZuaWNlLCBtb2xpbW8gdmFzIGRhIHNlIHByaWphdml0ZSBwcmUgbmVnbyDFoXRvIG5hc3Rhdml0ZS4gVSBzdXByb3Rub20sIHBveml2YW1vIHZhcyBkYSBzZSByZWdpc3RydWpldGUgdSBuYcWhb2ogcHJvZGF2bmljaS47Pj47Pjs7Pjt0PDtsPGk8MT47aTwzPjtpPDU+O2k8Nz47aTw5PjtpPDExPjtpPDEzPjtpPDE1PjtpPDE3Pjs+O2w8dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltZ2t1cG9uL1NFUi9sb2dpbi5qcGc7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPEtvcmlzbmnEjWtvIGltZTs+Pjs+Ozs+O3Q8cDw7cDxsPG9ua2V5ZG93bjs+O2w8U3VibWl0QnV0dG9uKGRvY3VtZW50LmFsbC5Mb2dpbk1pbmlJbmRleF9idG5Mb2dpbik7Pj4+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8TG96aW5rYTs+Pjs+Ozs+O3Q8cDw7cDxsPG9ua2V5ZG93bjs+O2w8U3VibWl0QnV0dG9uKGRvY3VtZW50LmFsbC5Mb2dpbk1pbmlJbmRleF9idG5Mb2dpbik7Pj4+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC9pbWdrdXBvbi9TRVIvYnRuTG9naW4uanBnOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxaYWJvcmF2aWxpIHN0ZSBsb3ppbmt1Pzs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8xIxhayBpIHVrb2xpa28gc2UgbmlzdGUgcHJldGhvZG5vIHJlZ2lzdHJvdmFsaSB1IG5hxaFvaiBwcm9kYXZuaWNpLCBtb8W+ZXRlIGRhIHByZWdsZWRhdGUgbmHFoXUgcG9udWR1LCBhbGkgbmXEh2V0ZSBtb8SHaSBkYSBrcmVpcmF0ZSBuZXJ1ZMW+YmVuaWN1IHN2ZSBkb2sgc2UgbmUgcmVnaXN0cnVqZXRlLjs+Pjs+Ozs+O3Q8cDxwPGw8SW1hZ2VVcmw7PjtsPC9pbWdrdXBvbi9TRVIvYnRuUmVnaXN0ZXIuanBnOz4+Oz47Oz47Pj47dDw7bDxpPDI+O2k8ND47aTw2Pjs+O2w8dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltZ2t1cG9uL1NFUi9sb2dpbi5qcGc7Pj47Pjs7Pjt0PHA8cDxsPFRleHQ7PjtsPFw8Qlw+XDwvQlw+LCB2YcWhaSBwb2RhY2kgc3UgcHJvdmVyZW5pIGkgZG96dm9samVubyB2YW0gamUgZGEgaW1hdGUgcG90cHVuIHByaXN0dXAgb3ZvbSB3ZWIgcG9ydGFsdS4gSHZhbGEuOz4+Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDxWYcWhYSBrb3JwYSBzYWRyxb5pIFw8Qlw+MFw8L0JcPiBhcnRpa2FsKGEpLiBBa28gc3RlIHNlIHVwcmF2byBwcmlqYXZpbGksIG92byB6bmHEjWkgZGEgamUgdmHFoWEgc3RhcmEga29ycGEgYWt0aXZpcmFuYS47Pj47Pjs7Pjs+Pjs+Pjt0PEAwPGI8QUFFQUFBRC8vLy8vQVFBQUFBQUFBQUFNQWdBQUFFZE5aV05sYmw5aU1tSXNJRlpsY25OcGIyNDlNUzR3TGpFM01EVXVNakkwTXpFc0lFTjFiSFIxY21VOWJtVjFkSEpoYkN3Z1VIVmliR2xqUzJWNVZHOXJaVzQ5Ym5Wc2JBd0RBQUFBU2tGc1lYSnBlQ3dnVm1WeWMybHZiajB4TGpJd0xqRXVNQ3dnUTNWc2RIVnlaVDF1WlhWMGNtRnNMQ0JRZFdKc2FXTkxaVZWFJoVTNSdmNtRm5aUU1BQUFBQ0FBQUFDUVFBQUFBRkJBQUFBQmRCYkdGeWFYZ3VSR0YwWVM1RVlYUmhVM1J2Y21GblpRb0FBQUFJU1hOR2FXeHNaV1FHUm1sc2JHVmtCMGx6UkdseWRIa0pTWE5FWld4bGRHVmtEa2x6U1c1RGIyeHNaV04wYVc5dURWOXBjMGxrWlc1MGFXWnBaV1FHVm1Gc2RXVnpEazl5YVdkcGJtRnNWbUZzZFdWekJVUnBjblI1RVZCeVpUVEQUFBQUFRa0ZBQUFBQUFBQUFRa0dBQUFBQ1FjQUFBQUpDQUFBQUFvUEJRQUFBQWNBQUFBQkFRRUJBUUVCQVJBR0FBQUFCd0FBQUFnTkFJQ1hmQlV0eGdnSURRQkF5OVZQcGNZSUNBZ0lBQUFBQmdrQUFBQUJRUVlLQUFBQUlVdHZiR2xyYnlERWpXVnpkRzhnYTNWd2RXcGxkR1VnYTI5dGNHcDFkR1Z5UHdZTEFBQUFBMU5GVWdvUUJ3QUFBQWNBQUFBSURRQ0FsM3dWTGNZSUNBMEFRTXZWVDZYR0NBZ0lDQUFBQUFrSkFBQUFDUW9BQUFBSkN3QUFBQW9QQ0FBQUFBY0FBQUFCQUFBQUFBQUFBQXM9Pjs7PjtsPGk8MD47aTwyPjtpPDQ+O2k8Nj47aTw4Pjs+O2w8dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltZ2t1cG9uL1NFUi9xdWVzdGlvbm5haXJlLmpwZzs+Pjs+Ozs+O3Q8cDxwPGw8VGV4dDs+O2w8S29saWtvIMSNZXN0byBrdXB1amV0ZSBrb21wanV0ZXI/Oz4+Oz47Oz47dDx0PDt0PGk8Mz47QDxTdmFrZSBnb2RpbmUuO1N2YWtpaCDFoWVzdCBtZXNlY2kuO8SMZcWhxIdlLjs+O0A8MjM7MjQ7MjU7Pj47Pjs7Pjt0PHA8cDxsPEltYWdlVXJsOz47bDwvaW1na3Vwb24vU0VSL2J0blZvdGUuanBnOz4+Oz47Oz47dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltZ2t1cG9uL1NFUi9idG5TdGF0aXN0aWNzLmpwZzs+Pjs+Ozs+Oz4+O3Q8O2w8aTwxPjtpPDM+Oz47bDx0PDtsPGk8MD47PjtsPHQ8QDA8YjxBQUVBQUFELy8vLy9BUUFBQUFBQUFBQU1BZ0FBQUVkTlpXTmxibDlpTW1Jc0lGWmxjbk5wYjI0OU1TNHdMakUzTURVdU1qSTBNekVzSUVOMWJIUjFjbVU5Ym1WMWRISmhiQ3dnVUhWaWJHbGpTMlY1Vkc5clpXNDliblZzYkF3REFBQUFTa0ZzWVhKcGVDd2dWbVZ5YzJsdmJqMHhMakl3TGpFdU1Dd2dRM1ZzZEhWeVpUMXVaWFYwY21Gc0xDQlFkV0pzYVdOTFpYbFViMnRsYmowNU5HWTFPV0U1T0RKa09ESm1ZV0l6QlFFQUFBQWRRV3hoY21sNExrMXZaSFZzWlVJeVdFeHZaMmxqTGtsMFpXMVlWRU1CQUFBQUIxTjBiM0poWjJVRUYwRnNZWEpwZUM1RVlYlvbnNOeEluZGV4OlByb21vdGlvbkl0ZW0wOmltZ1Byb21vdGlvbkl0ZW1JbWFnZTtQcm9tb3Rpb25zTnhJbmRleDpQcm9tb3Rpb25JdGVtMDpidG5BZGQ7UHJvbW90aW9uc054SW5kZXg6UHJvbW90aW9uSXRlbTE6aW1nUHJvbW90aW9uSXRlbUltYWdlO1Byb21vdGlvbnNOeEluZGV4OlByb21vdGlvbkl0ZW0xOmJ0bkFkZDs+Pg==" />
MicroBS – server side viewstate
• Data is saved on session, without serialization• Identical use compared to client-side Viewstate• Garbage collector tracks down opened windows
with javascript and cookies• Support perisistent viewstate (state of specific
controls can be serialized to disk)• References are shared (several controls can
access same object)• Using less resources on network• Using more resources on server• “Back” in browser does not work
MicroBS – Data filter
• Database table fields can be used to create query or for data binding
• Queries are dynamically created
• DataFilter can be serialized (saved)
• DataFilter support binding to another DataFilter, allowing creation of complex queries gradually
MicroBS – Template web controls
• Template Edit control - automatization of simple edit forms
• Template Query control - search
• Browse dijalog (client-side)
• Formatted TextBox
• External XML file describing structure
• ASCX = XML! Precompiled and cached
MicroBS – Web components
• Advanced container with decision logic for several templated web controls
• Component coordinator is controling actions• Automated security based on permissions or
statuses; every object is set up as read-only; action buttons (add, update, delete) are hidden
• Types: Details, Attachments, Categories, Attributes, Search, etc.
• Coordinator template contains components order. Manipulation of all data types controls only one ASPX page!
Questions?
www.micro-bs.com