Windows Workflow Foundation

Wielkość: px
Rozpocząć pokaz od strony:

Download "Windows Workflow Foundation"

Transkrypt

1 Windows Workflow Foundation

2 Podstawowe pojęcia Proces biznesowy jest kolekcją wzajemnie powiązanych zadań, inicjowaną w odpowiedzi na konkretne zdarzenie, prowadzącą do powstania określonego produktu/usługi dla klienta procesu. Definicja procesu obejmuje całościowe i wyczerpujące opisanie przebiegu procesu w postaci powiązanego zbioru czynności, relacji między tymi czynnościami, warunku rozpoczęcia i zakończenia procesu, szczegółowego opisu czynności składowych, uczestników procesu, wymienianych bądź modyfikowanych danych za pomocą wybranego języka i/lub przyjętej konwencji reprezentacji graficznej Workflow - automatyzacja procesu biznesowego w całości lub w części podczas której dokumenty, informacje lub zadania są przesyłane od jednego uczestnika do następnego celem ich realizacji zgodnie z określonymi zasadami postępowania

3 Standard WfMC 1 5 Usługa powołująca instancje procesów, wykonująca je i zarządzająca nimi 4 2i3 Workflow Management Coalition to organizacja zrzeszająca producentów oprogramowania wspomagającego zarządzanie procesów pracy, użytkowników, analityków i uniwersyteckie grupy badawcze

4 Workflow (def. /instancja) Workflow - grupa czynności WorkflowChanges -Twórca workflow może określić czy i w jakim zakresie może on zostać zmodyfikowany w takcie jego wykonywania (np. dodanie, usunięcie kroku) Niektóre procesy mogą być długotrwałe, więc musi być możliwość zapisania stanów instancji workflow i wznowienia go do działania

5 Activity (definicja / instancja) Czynność prosta Czynność złożona System.Workflow.Activities.dll

6 Typy workflow sekwencyjny wykonuje czynności zgodnie ze zdefiniowaną kolejnością (może zawierać rozwidlenia, pętle itp.); maszyna stanów o wykonaniu czynności w określonym czasie decyduje bieżąca kombinacja stanów i odebrane zdarzenie;

7 Konfiguracja środowiska Windows.NET Framework 3.0 i Visual Studio 2005 Extensions for Windows Workflow Foundation lub Visual studio 2008

8 Komponenty WF Workflow runtime Wymaga aplikacji hosta Jest uzależniony od dodatkowych usług

9 Komponenty WF... WorkflowRuntime runtime = new WorkflowRuntime(); runtime.addservice(...) WorkflowInstance instance = runtime.createworkflow(...); instance.start(); Guid id = instance.instanceid;...

10 Workflow Designer aa aspx

11 Markup Only Markup + Code Code only XAML XAML C#/VB C#/VB Workflow Compiler Markup Only XAML C#/VB Compiler NET Assembly Workflow Instance Workflow Runtime Workflow Designers (À la ASP.NET Designer) tworzy nowe workflow y Activity Designer (À la UserControl Designer) tworzy nowe czynności

12 Workflow w XAML (*.xoml) <SequentialWorkflowActivity x:class="doorsworkflow.workflow1" x:name="workflow1" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow"> <IfElseActivity x:name="ifelseactivity1"> <IfElseBranchActivity x:name="ifelsebranchactivity1"> <IfElseBranchActivity.Condition> <CodeCondition Condition="Test" /> </IfElseBranchActivity.Condition> <CodeActivity x:name="codeactivity1" ExecuteCode="DoSomething" /> </IfElseBranchActivity> <IfElseBranchActivity x:name="ifelsebranchactivity2"> <CodeActivity x:name="codeactivity2" ExecuteCode="DoSomethingElse" /> </IfElseBranchActivity> </IfElseActivity> </SequentialWorkflowActivity>

13 Przykład Witaj Projekt typu Sequential Workflow Console Application Dla CodeActivity właściwość obowiązkowa to ExecuteProperty private void codeactivity1_executecode(object sender, EventArgs e) { Console.WriteLine("Hello World"); Console.ReadKey(); }

14 Biblioteka podstawowych czynności IfElse: wykonanie czynności zawarte w 2 lub więcej ścieżkach zależnie od spełnienia warunku; While: wykonanie w pętli 1 lub więcej czynności dopóki warunek=true; Sequence: wykonuje grupę czynności jeden raz według zdefiniowanej kolejności; Parallel: wykonanie 2 lub więcej grup czynności równolegle;

15 Podstawowe czynności (2) Code: wykonuje zdefiniowany kawałek kodu; ExecuteCode dowiązać metodę do wykonania; Listen: oczekiwanie na określone zdarzenie, wiele gałęzi, wykonanie 1 lub wielu czynności gdy zdarzenie zaistniało (implementujących IEventActivity np.. DelayActivity, HandleExternalEventActivity, WebServiceInputActivity); InvokeWebService: wywołanie usługi sieciowej z wykorzystaniem ASP.NET Web Services.

16 Podstawowe czynności (3) State: reprezentuje stan w workflow owej maszynie stanów; EventDriven: definiuje przejście zawierające 1 lub więcej czynności które powinny być wykonane gdy określone zdarzenie zaistnieje podczas trwania w określonym stanie; Policy: pozwala na wykonanie reguł biznesowych utrzymywanych w silniku reguł Wykorzystywanie tych czynności jest opcjonalne, każdy może zbudować sobie zestaw własnych

17 Model wykonywania czynności kolejne stany public class CreateTask : Activity { public string Assignee {... } public DateTime DueDate {... } } protected override ActivityExecutionStatus Execute( ActivityExecutionContext context) { ActivityExecutionStatus używane // tu wywołuje metodę _ExecuteCode return ActivityExecutionStatus.Closed; przez runtime do określenia np. } kiedy czynność się zakończyła pomyślnie, ciągle trwa,.

18 Czynności - cechy opcjonalne Companion Classes Designer [Designer(typeof(MyDesigner))] Validator [Validator(typeof(MyValidator))] Serializer [Serializer(typeof(MySerializer))] [CodeGenerator(typeof(MyCodeGen))] [ToolboxItem(typeof(MyToolboxItem))] Code Generator ToolboxItem Behaviors [SupportsTransaction] [SupportsExceptionHandlers] public class MyActivity: Activity {... } Transactions

19 Custom Activities (composite) DaysOfWeekActivity SequenceActivty: Monday, Tuesday, Wednesday, Thursday, Friday <other activites as appropriate> SequenceActivity: Saturday, Sunday <other activites as appropriate> [Flags] [Editor(typeof(FlagsEnumEditor), typeof(uitypeeditor))] public enum WeekdayEnum : byte { None = 0x00, Sunday = 0x01, Monday = 0x02, Tuesday = 0x04, Wednesday = 0x08, Thursday = 0x10, Friday = 0x20, Saturday = 0x40 }

20 Custom Activities def.(2) public class DaysOfWeekActivity : CompositeActivity { /// <summary> /// Get/Set the day of week property /// </summary> [Browsable(true)] [Category("Behavior")] [Description("Bind to a DateTime property, set a specific date time, or leave blank for DateTime.Now")] [DefaultValue(typeof(DateTime),"")] public DateTime Date { get { return (DateTime)base.GetValue(DaysOfWeekActivity.DateProperty); } set { base.setvalue(daysofweekactivity.dateproperty, value); } } /// <summary> /// Register the DayOfWeek property /// </summary> public static DependencyProperty DateProperty = DependencyProperty.Register("Date", typeof(datetime), typeof(daysofweekactivity)); }

21 Custom Activities Designer (3) public class DaysOfWeekDesigner : ParallelActivityDesigner { public override bool CanInsertActivities (HitTestInfo insertlocation, ReadOnlyCollection<Activity> activities) { foreach (Activity act in activities) { if (!(act is SequenceActivity)) return false; } return base.caninsertactivities(insertlocation, activitiestoinsert); } protected override CompositeActivity OnCreateNewBranch() { return new SequenceActivity(); } } [Designer(typeof(DaysOfWeekDesigner))] public class DaysOfWeekActivity : CompositeActivity {... }

22 Custom Activities- Toolbox(4) [Serializable] public class DaysOfWeekToolboxItem : ActivityToolboxItem { public DaysOfWeekToolboxItem(Type t) : base(t) { this.displayname = "DaysOfWeek"; } private DaysOfWeekToolboxItem(SerializationInfo info, StreamingContext context) { this.deserialize(info, context); } protected override IComponent[] CreateComponentsCore(IDesignerHost host) { CompositeActivity parent = new DaysOfWeekActivity(); parent.activities.add(new SequenceActivity()); parent.activities.add(new SequenceActivity()); return new IComponent[] { parent }; } } [Designer(typeof(DaysOfWeekDesigner))] [ToolboxItem(typeof(DaysOfWeekToolboxItem))] public class DaysOfWeekActivity : CompositeActivity { }

23 Attached Properties (5) To właściwość zdefiniowana w jednej klasie a wyświetlana / ustawiana w innej Definicja w klasie DaysofWeekActivity: public static DependencyProperty WeekdayProperty = DependencyProperty.RegisterAttached("Weekday", typeof(weekdayenum), typeof(daysofweekactivity), new PropertyMetadata(DependencyPropertyOptions.Metadata)); Wyświetlana i ustawiana w podgałęzi SequenceActivity: Jeżeli w designerze ustawimy Weekday na Saturday, Sunday to odpowiada to kodowi: this.sequenceactivity1.setvalue (DaysOfWeekActivity.WeekdayProperty, ((WeekdayEnum)((WeekdayEnum.Sunday WeekdayEnum.Saturday))));

24 Attached Properties set/get(6) public static void SetWeekday(Activity activity, object value) { if (null == activity) throw new ArgumentNullException("activity"); if (null == value) throw new ArgumentNullException("value"); activity.setvalue(daysofweekactivity.weekdayproperty, value); } public static object GetWeekday(Activity activity) { if (null == activity) throw new ArgumentNullException("activity"); return activity.getvalue(daysofweekactivity.weekdayproperty); }

25 Attached Properties (7) udostępnienie w projektancie public class DaysOfWeekDesigner : ParallelActivityDesigner {... protected override void Initialize(Activity activity) { base.initialize(activity); IExtenderListService iels = base.getservice(typeof(iextenderlistservice)) as IExtenderListService; if (null!= iels) { bool extenderexists = false; foreach (IExtenderProvider provider in iels.getextenderproviders()) { if (provider.gettype() == typeof(weekdayextenderprovider)) { extenderexists = true; break; } // jest ExtenderProvider naszego typu } if (!extenderexists) { IExtenderProviderService ieps = base.getservice(typeof(iextenderproviderservice)) as IExtenderProviderService; //utwórz usługę IExtenderProvider a if (null!= ieps) ieps.addextenderprovider(new WeekdayExtenderProvider()); } //dodaj do niego exteder naszego typu } }... }

26 Kod naszego Extender Provider a (8) [ProviderProperty("Weekday", typeof(sequenceactivity))] public class WeekdayExtenderProvider : IExtenderProvider { bool IExtenderProvider.CanExtend(object extendee) { bool canextend = false; if ((this!= extendee) && (extendee is SequenceActivity)) { Activity parent = ((Activity)extendee).Parent; if (null!= parent) canextend = parent is DaysOfWeekActivity; } return canextend; } public WeekdayEnum GetWeekday(Activity activity) { WeekdayEnum weekday = WeekdayEnum.None; Activity parent = activity.parent; if ((null!= parent) && (parent is DaysOfWeekActivity)) weekday = (WeekdayEnum)DaysOfWeekActivity.GetWeekday(activity); return weekday; } public void SetWeekday(Activity activity, WeekdayEnum weekday) { Activity parent = activity.parent; if ((null!= parent) && (parent is DaysOfWeekActivity)) DaysOfWeekActivity.SetWeekday(activity, weekday); } }

27 Przekazywanie parametrów do instancji workflow public class OrderProcessingWorkflow: SequentialWorkflowActivity { public int OrderID { get { return _orderid; } set { _orderid = value; } } private int _orderid; } WorkflowRuntime runtime = new WorkflowRuntime (); Dictionary<string,object> parms = new Dictionary<string,object>(); parms.add("orderid", 12345) ; WorkflowInstance instance = runtime.createworkflow (typeof(orderprocessingworkflow), parms); instance.start(); Na bazie par klucz wyszukiwane są właściwości publiczne jeżeli przypasowanie odnaleziono wołany jest set przypisujący wartość jeżeli nie to przy próbie utworzenia instancji generowany wyjątek

28 Pobieranie wyników z instancji using(workflowruntime workflowruntime = new WorkflowRuntime()) { AutoResetEvent waithandle = new AutoResetEvent(false); workflowruntime.workflowcompleted += delegate(object sender, WorkflowCompletedEventArgs e) { waithandle.set(); foreach (KeyValuePair<string, object> parm in e.outputparameters) {Console.WriteLine("{0} = {1}", parm.key, parm.value); } }; WorkflowInstance instance =workflowruntime.createworkflow (typeof(workflow1)); instance.start(); waithandle.waitone(); //oczekiwanie na zakończenie wykonywania instancji }

29 Wiązanie parametrów public TimeSpan oczekiwanie { get { return ocz_value; } set { ocz_value = value; } } private TimeSpan ocz_value; public TimeSpan TimeoutDuration { get { return (TimeSpan)base.GetValue(DelayActivity.TimeoutDurationProperty); } set { base.setvalue(delayactivity.timeoutdurationproperty, value); } }

30 Hosting Windows Workflow Foundation Środowisko uruchomieniowe - WorkflowRuntime instancje tworzy się raz w aplikacji, CreateWorkflow() - tworzy instancję workflow GetLoadedWorkflows() daje kolekcję załadowanych instancji workflow dostarcza usługi potrzebne do wykonywania instancji AddService() dodanie usługi do runtime GetAllServices(Type servicetype) zwraca kolekcje usług o określonym typie) zbiór zdefiniowanych zdarzeń występujących w trakcie wykonywania instancji workflow

31 Workflow-enabled services Usługa jest klasą potrzebną przy wykonywaniu instancji workflow (poszczególnych czynności) protected override ActivityExecutionStatus Execute (ActivityExecutionContext executioncontext) { ICustomService myservice = executioncontext.getservice<icustomservice>();... Do something with the service }

32 Standardowe usługi związane (2) using(workflowruntime workflowruntime = new WorkflowRuntime()) { workflowruntime.startruntime(); bool s = workflowruntime.isstarted; ReadOnlyCollection<Object> x = workflowruntime.getallservices(typeof(object)); foreach (Object a in x) { Console.WriteLine( a.tostring()); } }

33 Workflow Execution (3) bezczynny! Workflow Runtime Workflow Instance Runtime Services Loader XAML Persistence Host Application Po ponownym uruchomieniu Workflow Runtime mogą zostać przywrócone instancje workflow (z bazy persistance), które wykonywały się przy ostatnim jego działaniu ale nie zostały zakończone; Workflow Instance

34 Dodawanie usług do runtime (4) Jeszcze przed wystartowaniem runtime w przeciwnym wypadku wyjątek using(workflowruntime workflowruntime = new WorkflowRuntime()) { workflowruntime.addservice( new SqlWorkflowPersistenceService(conn, true, new TimeSpan(1,0,0), new TimeSpan(0,10,0))); workflowruntime.addservice(new SqlTrackingService(conn));... workflowruntime.startruntime(); }

35 Dodawanie usług do runtime(5) <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <section name="wf" type="system.workflow.runtime.configuration.workflowruntimesection, System.Workflow.Runtime, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </configsections> using(workflowruntime workflowruntime = new <WF Name="Hosting"> WorkflowRuntime("WF")) {... } <CommonParameters/> <Services> <add type="system.workflow.runtime.hosting.sqlworkflowpersistenceservice, System.Workflow.Runtime, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionstring="initial Catalog=WF;Data Source=.; Integrated Security=SSPI;" UnloadOnIdle="true" LoadIntervalSeconds="2"/> <add type="system.workflow.runtime.tracking.sqltrackingservice, System.Workflow.Runtime, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionstring="initial Catalog=WF;Data Source=.; Integrated Security=SSPI;" UseDefaultProfile="true"/> </Services> </WF> </configuration>

36 Runtime Services- persistence (6) dziedziczy z WorkflowPersistenceService przechwytuje instancje workflow, serializuje, zrzuca i zachowuje jej stan do bazy SQL Servera lub do pliku na dysku SqlWorkflowPersistenceService() z System.Workflow.Runtime.Hosting; using(workflowruntime workflowruntime = new WorkflowRuntime()) { workflowruntime.addservice( new SqlWorkflowPersistenceService(conn, true, new TimeSpan(1,0,0), new TimeSpan(0,10,0))); // Execute a workflow here... } Wymaga uruchomienia skryptów do: utworzenia schematu bazy utworzenia procedur składowanych (C:\Windows\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\EN ) Może być wykorzystywany przez wiele środowisk wykonawczych równocześnie dany workflow dostępny jedynie przez jeden WRuntime

37 Tracking Services (7) Może rejestrować, które czynności się już wykonały, które gałęzie zostały wybrane, maksimum danych z wykonania konkretnej instancji Dane te służą do późniejszej weryfikacji Ułatwiają wyszukanie błędów Ich analiza może przyczynić się do podjęcia decyzji o przebudowie szablonu workflow w celu zwiększenia wydajności przy wykonywaniu instancji Implementowany jako klasa abstrakcyjna TrackingService dostępna implementacja SqlTrackingService() TrackingProfile definiuje co śledzić (zdarzenia na workflow, wykonywanie poszczególnych czynności,..)

38 Tracking Services (8) Odczytanie danych z bazy bezpośrednie pytania przez SqlTrackingQuery Przykład jakie instancje był śledzone w zadanym okresie czasu: public IList<SqlTrackingWorkflowInstance> GetWorkflows (DateTime startdate, DateTime enddate, string connectionstring) { SqlTrackingQuery query = new SqlTrackingQuery (connectionstring); SqlTrackingQueryOptions queryoptions = new SqlTrackingQueryOptions(); queryoptions.statusmindatetime = startdate; queryoptions.statusmaxdatetime = enddate; return (query.getworkflows (queryoptions)); }

39 Własne usługi (9) Def.interfejsu: [ExternalDataExchange] public interface IDoorService { void LockDoor(); void UnlockDoor(); event EventHandler<ExternalDataEventArgs> RequestEntry; event EventHandler<ExternalDataEventArgs> OpenDoor; event EventHandler<ExternalDataEventArgs> CloseDoor; event EventHandler<ExternalDataEventArgs> FireAlarm; void OnRequestEntry(Guid id); void OnOpenDoor(Guid id); void OnCloseDoor(Guid id); void OnFireAlarm(); }

40 Własne usługi (10) ExternalDataExchangeService - proxy dla zdarzeń od usługi do workflow, przywraca jak trzeba instancję z bazy persistence WorkflowRuntime runtime = new WorkflowRuntime(); ExternalDataExchangeService edes = new ExternalDataExchangeService(); runtime.addservice(edes); DoorService service = new DoorService(); edes.addservice(service); runtime.startruntime(); Zadrzenia wykorzystują klasę ExternalDataEventsArgs do przekazania parametrów zwrotnych do workflow (standardowo jest tam id_instancji, inne powinny być dodane do niej jako właściwości)

41 Zmiana definicji workflow w trakcie działania Utwórz obiekt WorkflowChanges zawierający wszystkie nowe czynności dodane do workflow (z System.Workflow.ComponentModel) WorkflowChanges a = new WorkflowChanges(rootActivity); Wywołaj metodę ApplyWorkflowChanges() na konkretnej instancji instance.applyworkflowchanges(a);

42 Windows WF a WCF Z jednej strony Workflow wywołuje usługi jako czynności z drugiej Usługę można zaimplementować jako workflow W.NET Framework 3.0 nie można było mieszać technologii WF i WCF W.NET Framework 3.5 można obie mieszać dzięki nowym czynnościom: Send wysłanie żądania za pomocą WCF i oczekiwanie na odpowiedź. (developer określa operacje jaka ma być wywołana i punkt z którego jest ona dostępna) Receive otrzymanie prośby nadchodzącej od WCF i wysłanie odpowiedzi (developer określa nazwę operacji odpowiadającej żądaniu)

43 BPEL for Windows Workflow Foundation March CTP Microsoft provides BPEL 2.0 in WF - BPEL for Windows Workflow Foundation March CTP ft.com/downloads/ details.aspx? FamilyID=6d0daf0 0-f689-4e61-88e6cbe6f668e6a3&dis

44 WS-BPEL 2.0 a WF WS-BPEL is very much a subset of what can be represented using WF. Think of WF as a "graph of activities" that can be transformed to virtually any workflow standard.

45 Literatura Professional C# 2005 with.net 3.0 Christian Nagel, Bill Evjen, Jay Glynn, Morgan SkinnerandKarli Watson Wrox Press 2007 (1798 pages) ISBN: Providing you with the ultimate guide to the C# language, this authoritative book will help you quickly write your own programs while also getting you up to speed on how the.net architecture works.

46 WF- sekwencyjny / WF* - maszyna stanów

47

48

49 Summary Windows WF What is Workflow? Workflow is the software implementation of business process or business logic What s the value of Workflow? Transparency Flexibility Extensibility Releasing in November 2006 as a part of Microsoft Windows Vista Visual Studio Designer A Workflow Activity Activity Library Workflow Runtime Engine Runtime Services Host Process

Lab Windows Workflow Foundation (VS2008)

Lab Windows Workflow Foundation (VS2008) Lab Windows Workflow Foundation (VS2008) Zadanie 1- utworzenie prostej własnej czynności (custom activity). Otworzyć nowy projekt typu Workflow -> Workflow Activity Library W Properties ach zmień w polu

Bardziej szczegółowo

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow): 1. Utworzenie projektu - Sequential Workflow. File - New Project - Visual C# -Workflow- Sequential Workflow Console Application

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server { Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło 1 Nota autorska. Znaczna część ilustracji w tej prezentacji została zaczerpnięta z wielu źródeł ogólnie dostępnych w internecie. Oto główne

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

1. CZYM JEST SERIALIZACJA

1. CZYM JEST SERIALIZACJA SERIALIZACJA O CZYM POWIEMY? 1. Czym jest serializacja? 2. Jak przeprowadzić proces serializacji? 3. Jak przeprowadzić proces deserializacji? 4. Serializacja własnych klas. 5. Dobre praktyki. 6. SoapFormatter.

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Instrukcja laboratoryjna cz.2

Instrukcja laboratoryjna cz.2 Synteza aplikacji biznesowych 2013/2014 Instrukcja laboratoryjna cz.2 Administracja serwisów Microsoft SharePoint Prowadzący: Tomasz Goluch Wersja: 4.1 I. Diagnostyka przy użyciu mechanizmu Developer Dashboard.

Bardziej szczegółowo

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Fragmenty są wspierane od Androida 1.6

Fragmenty są wspierane od Androida 1.6 W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

Bardziej szczegółowo

Wzorce prezentacji internetowych

Wzorce prezentacji internetowych Wzorce prezentacji internetowych 1. Model kontrolera widoku (Model View Controller). 2. Kontroler strony (Page Controller). 3. Kontroler fasady (Front Controller). 4. Szablon widoku (Template View). 5.

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

Metodyka programowania. Podstawy C#

Metodyka programowania. Podstawy C# Metodyka programowania Podstawy C# Platforma.NET Platforma.NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas

Bardziej szczegółowo

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g Opis szkolenia: Termin SOA, czyli Service Oriented Architecture, oznacza architekturę systemów informatycznych opartą o usługi. Za

Bardziej szczegółowo

Współbieżność w środowisku Java

Współbieżność w środowisku Java Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Budowa aplikacji wielowarstwowych zastosowanie szablonów Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz Przykład 1 Zastosowanie szablonów Tworzenie kopii projektu typu Web Application o nazwie

Bardziej szczegółowo

Instrukcja laboratoryjna cz.6

Instrukcja laboratoryjna cz.6 Programowanie aplikacji internetowych 2013/2014 Instrukcja laboratoryjna cz.6 Technologia Silverlight cz.2 Prowadzący: Tomasz Goluch Wersja: 3.0 I. Model danych (tworzenie bazy na podstawie modelu). Cel:

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net

Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net Instrukcja tworzenia aplikacji bazodanowej opartej o technologię Oracle i platformę.net Aby móc uzyskaćdostęp do bazy danych z zewnętrznych aplikacji, w tym wypadku aplikacji.net, niezbędne jest wykonanie

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8 Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy Języki i paradygmaty programowania - 8 - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzie Windows Forms Windows Form jest narzędziem do tworzenia

Bardziej szczegółowo

Bezpieczenstwo aplikacji

Bezpieczenstwo aplikacji Języki Programowania na Platformie.NET (część 2) http://www.kaims.pl/ goluch/ goluch@eti.pg.gda.pl Bezpieczeństwo ogólne koncepcje sandboxing zbiór praw jest określany poprzez evidence prawa (permissions)

Bardziej szczegółowo

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER XLZEBRAPRINTER Oprogramowanie XLZebraPrinter służy do wykonywania dowolnych wydruków etykiet (łącznie z możliwością wydruku kodów kreskowych 1D oraz 2D) na podstawie danych pochodzących bezpośrednio z

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI Instrukcja użytkownika Narzędzie do modelowania procesów BPEL Warszawa, lipiec 2009 r. UNIA EUROPEJSKA EUROPEJSKI FUNDUSZ

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

[Android] Podstawy programowania

[Android] Podstawy programowania Page 1 of 7 [Android] Podstawy programowania LinkiPrzewodnik z przykładamizasosbykrótka prezentacja wprowadzająca do budowy systemuprosta aplikacja z menu i dialogami, którą utworzymy tutaj krok po kroku

Bardziej szczegółowo

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1 Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

Wprowadzenie do programowania

Wprowadzenie do programowania do programowania ITA-104 Wersja 1 Warszawa, Wrzesień 2009 ITA-104 do programowania Informacje o kursie Zakres tematyczny kursu Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu do programowania

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Db4o obiektowa baza danych wersja.net

Db4o obiektowa baza danych wersja.net Wstęp Db4o obiektowa baza danych wersja.net Db4o (database for objects) to obiektowa baza danych na platformę Java i.net. Pełna wersja bazy db4o jest dostępna na dwóch licencjach: open source: pozwala

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI Bartłomiej Filipek www.ii.uj.edu.pl/~filipek plan Szybki start!.net 3.5 Visual Studio 2008 ogólnie Nowe narzędzia Czy zapomniano o C++? Podsumowanie Materiały źródłowe

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne Dokumentacja programu e Zoz Opis biblioteki PhantomAPI.dll Wersja 1.22.1.5 Zielona Góra 2010-08-26 1. Opis ogólny Biblioteka programistyczna PhantomAPI.dll służy do integracji oprogramowania zewnętrznego

Bardziej szczegółowo

Systemy przepływu pracy (workflow)

Systemy przepływu pracy (workflow) Systemy przepływu pracy (workflow) Definicja Workflow (w języku polskim określany jako przepływ pracy) jest to zautomatyzowany w całości lub części proces biznesowy, w trakcie którego dokumenty, informacje

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

Projektowanie aplikacji internetowych laboratorium Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji

Bardziej szczegółowo

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji. Temat Stworzenie systemu składającego się z prostej usługi sieciowej (ang. web service) oraz komunikującej się z nią aplikacji klienckiej umożliwiającej dostęp do usługi przez przeglądarkę internetową.

Bardziej szczegółowo

JAX-RS czyli REST w Javie. Adam Kędziora

JAX-RS czyli REST w Javie. Adam Kędziora JAX-RS czyli REST w Javie Adam Kędziora Webservice Usługa sieciowa (ang. web service) komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. SOAP,UDDI,XML,WSDL

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1). Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię usług sieciowych (ang. Web Services).

Bardziej szczegółowo

Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014

Automaty do zadań specjalnych. Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014 Automaty do zadań specjalnych Olga Maciaszek-Sharma, Artur Kotow Wersja 1, 13.05.2014 Agenda Kilka pytań do publiczności Po co się męczyć? Studium przypadku Olympus Wprowadzenie Opis rozwiązania Wnioski

Bardziej szczegółowo

Architektura komunikacji

Architektura komunikacji isqlplus Agenda 1 Rozwój produktu isql*plus ma swoje początki w wersji Oracle 8i, kiedy jest zakończony pierwszy etap prac nad projektem. Interfejs użytkownika jest cienki klient - przeglądarka internetowa,

Bardziej szczegółowo

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

JavaFX. Programowanie Obiektowe Mateusz Cicheński

JavaFX. Programowanie Obiektowe Mateusz Cicheński JavaFX Programowanie Obiektowe Mateusz Cicheński Is JavaFX replacing Swing as the new client UI library for Java SE? Yes. http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html Zastosowania

Bardziej szczegółowo

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4 Procesy biznesowe w praktyce Przykłady użycia z wykorzystaniem jbpm 4.4 1 Agenda Definicja i zastosowanie procesu biznesowego Języki dziedzinowe (DSL) a rozwiązania BPM JBPM: jbpm 4.4 krótka charakterystyka

Bardziej szczegółowo

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów.

NHibernate Hibernate dla platformy.net. Hibernate posiada także dużą społeczność, zatem nietrudno uzyskać jakieś wsparcie w przypadku problemów. Hibernate Każda poważniejsza aplikacja wymaga przechowywania danych w jakiejś bazie danych. Można realizować to na wiele sposobów. Można obsługę bazy danych pisać samodzielnie, do zera, albo skorzystać

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Programowanie aplikacji okienkowych Windows

Programowanie aplikacji okienkowych Windows Programowanie aplikacji okienkowych Windows Tworzenie aplikacji okienkowych w C# na bazie.net 2.0 Michał Turek, AGH Kraków W czym piszemy aplikacje.net Microsoft Visual Studio.NET Microsoft [] Express,

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/

Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Wprowadzenie do technologii JavaServer Faces 2.1 na podstawie http://docs.oracle.com/javaee/6/tutorial/doc/ Aplikacja internetowa tworzona na podstawie bazy danych. Programowanie komponentowe 2, Zofia

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Microsoft Foundation Classes

Microsoft Foundation Classes Microsoft Foundation Classes Piotr Janczyk Co to jest MFC? Jest to podstawowa biblioteka Visual C++, której klasy stanowią szkielet aplikacji dla programów pracujących w systemie Windows. Napisane w języku

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik by Gecco-IT http://www.gecco-it.waw.pl info@gecco-it.waw.pl 1. Zanim przystąpimy do migracji należy

Bardziej szczegółowo

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki LINQ TO XML Celem ćwiczenia jest zapoznanie się z możliwościami przetwarzania dokumentów XML na platformie.net. W toku zadania zostaną przedstawione dwie technologie: LINQ TO XML i XPath. Autor ćwiczenia:

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 4

Programowanie telefonów z Windows Phone 7, cz. 4 Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c.

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Oracle Designer. Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera :

Oracle Designer. Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera : Oracle Designer Oracle Designer jest jednym z głównych komponentów pakietu Oracle Developer Suite. Oracle Designer wspiera : - modelowanie procesów biznesowych - analizę systemu informatycznego - projektowanie

Bardziej szczegółowo

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) Spis treści Wstęp... xi Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) 1 Program SQL Server Management Studio oraz język Transact SQL... 3 Omówienie programu SQL Server Management

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Budowa prostej aplikacji wielowarstwowej Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz Konfigurowanie edytora programu za pomocą Tools/Options/Editor Konfigurowanie edytora programu za pomocą

Bardziej szczegółowo

Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress, 2009.

Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress, 2009. 5.1 Środowisko.Net... 1 5.2 Biblioteki.Net... 2 5.3 Rozszerzenie języka C++, standard C++/CLI... 3 5.4 Delegacje... 5 5.5 Zdarzenia... 6 5.6 Szablon aplikacji CLR Windows Forms... 8 5.7 Formatka z przyciskiem...

Bardziej szczegółowo